Add types for lifecycle events.

Added that all methods wait for completion.  (let me know if this seems wrong)