LifecycleController
Method implementations and tests