Add types for lifecycle events.

Comment on the "will wait for completion" and timeout aspects?