Observer and Observable patterns.