Add types for lifecycle events.

On naming: How about "Notifier" ?  There may be other non-lifecycle things that we want to use it on?  And it is shorter and more descriptive, IMO.