Refactor of Observers

Moved Observers to new package and renamed them to more abstract names