Updated API with observer style events

Provides new possibilities to event consumers for managing subscriptions
Potential to leverage event namespaces
Fills current gap of lack of support for multiple subscribers
Less prone to breaking compatibility should event definitions change over time
Merge pull request #2 from DanDruta/master

Merging in **Updated API with observer style events**
We've also got positive feedback on the suggestion to drop the generic *status* event so we'll update the master directly after the merge with that change as well.