separated tests out into manageable pieces
added basic lifecycle events
Merge branch 'events'
bump version