(TK-3) Move lifecycle functionality to core

Add functionality for init and start lifecycle functions into
core so that the lifecycle functions have as little in them
as possible.