Also added a test and a test for the error type. Additionally the BasePreflight now provides default run/apply members.