Updated observables to use inheritance

Since they use inheritance and are now objects use get and set.
Updated tests.