view does not need to be an event emitter