code: function(n) {
          try {
              if (n && 3 == n.nodeType) {
                  n = n.parentNode;
              }
          } catch(e) { 
              return null;
          }
  
          return Y.one(n);
      }
docs: /*
  @TODO constants? LEFTBUTTON, MIDDLEBUTTON, RIGHTBUTTON, keys
   /*
  
  var whitelist = {
  altKey          : 1,
  "button"          : 1, // we supply
  "bubbles"         : 1, // needed?
  "cancelable"      : 1, // needed?
  "charCode"        : 1, // we supply
  cancelBubble    : 1,
  "currentTarget"   : 1, // we supply
  ctrlKey         : 1,
  clientX         : 1, // needed?
  clientY         : 1, // needed?
  detail          : 1, // not fully implemented
  "fromElement"     : 1,
  keyCode         : 1,
  "height"          : 1, // needed?
  "initEvent"       : 1, // need the init events?
  "initMouseEvent"  : 1,
  "initUIEvent"     : 1,
  "layerX"          : 1, // needed?
  "layerY"          : 1, // needed?
  metaKey         : 1,
  "modifiers"       : 1, // needed?
  "offsetX"         : 1, // needed?
  "offsetY"         : 1, // needed?
  "preventDefault"  : 1, // we supply
  "reason"          : 1, // IE proprietary
  "relatedTarget"   : 1,
  "returnValue"     : 1, // needed?
  shiftKey        : 1,
  "srcUrn"          : 1, // IE proprietary
  "srcElement"      : 1,
  "srcFilter"       : 1, IE proprietary
  "stopPropagation" : 1, // we supply
  "target"          : 1,
  "timeStamp"       : 1, // needed?
  "toElement"       : 1,
  type            : 1,
  "view"            : 1,
  "which"           : 1, // we supply
  "width"           : 1, // needed?
  x               : 1,
  y               : 1
  },