code: function makeKeyDefinition ( code ) {
  	return ( node, fire ) => {
  		function keydownHandler ( event ) {
  			var which = event.which || event.keyCode;
  
  			if ( which === code ) {
  				event.preventDefault();
  
  				fire({
  					node,
  					original: event
  				});
  			}
  		}
  
  		node.addEventListener( 'keydown', keydownHandler, false );
  
  		return {
  			teardown () {
  				node.removeEventListener( 'keydown', keydownHandler, false );
  			}
  		};
  	};
  }
docs: TODO can we just declare the keydowhHandler once? using `this`?