Make sure that adding,removing and notifying observers is thread safe. Create some classes for creating observables easily.