Use observer pattern for view updates.