implement extend function, passes tests
refactor Events.on function to create this.events obj if it doesn't exist; implemented test
implement Events.on function; tests pass
implement trigger; tests pass; cleanup
refactor Extend code for terseness?