Observer pattern view