Observer model decoupling
Some code cleanup