Class Observer refactoring