Force user to call super methods within onTerminating/onStarting in own stages
To achieve this, add a boolean field in AbstractStage, which indicates if super was called, check for it in RunnableStage.run and throw a Exception if needed; this should work for for onStarting. This approach is similar to the one in Android, see: http://stackoverflow.com/questions/11867246/how-did-android-implement-the-checks-for-supernotcalledexception