Adjustments to the semantics of status events

@kentquirk @jebeck 

These are some changes to the data model to (hopefully) make it a bit easier to work with the suspensions.  Please read it over and let me know if things need more clarification.
I don't disagree with @kentquirk about suspends being broken out into their own type, but I also don't feel that strongly about it...