[WIP]  Add the lifecycle interface