Refactoring view/observer

Related: #207