added a missing virtual dtor for the Observable class that resulted in undefined behaviour when deleting an observable through a pointer to the base class (it was probably a memory leak)