View now uses extend function to inherit emitters prototype and its own definition