Replace CLBlockObservation with a simple observer object

The observer object is a better method for maintaining the state of the observations and doesn't have any magic in it.
Merge pull request #13 from eladb/master

Replace CLBlockObservation with a simple observer object