Add types for lifecycle events.

I say no to this TODO