Observer refactor

Refactored observers resource to use derived classes of base observer
as per Agent/Handlers