Add types for lifecycle events.

I am torn on this point.  That was my initial feeling, but I thought it makes a cleaner API if stop and fail really are different.  but then health checks != emergency preemption != oom...