Issue #27 Lifecycle stuff, ready for final review pass

Before I start implementing this all over the place!
This is a tangent, but for all the various todos and comments for necessary future work/thought, should we use something like XXX: ? Or are we counting on people just catching these todos eventually or putting in github issues for them?