Observer pattern model v0.2