code: function (target, name, meta){
              var _ctor = __define.fixTargetCtor(target),
                  _key = __define.fixTargetKey(name),
                  _exist = _key in _ctor,
                  _descriptor = {};
  
              if(!_exist){
                  _descriptor = Object.defineProperty(target, 'on' + name.toLowerCase(), {
                      get: function () {
                          var _listeners = this.__handlers__[name];
                          if (_listeners) {
                              return _listeners[0].handler;
                          }
                          else {
                              return null;
                          }
                      },
                      set: function (value) {
                          var _handlers = this.__handlers__;
                          var _listeners = _handlers[name] = _handlers[name] || [];
  
                          _listeners[0] = {
                              owner: this,
                              handler: value,
                              context: null
                          };
                      }
                  });
              }
              _ctor[_key] = {
                  name: name,
                  type: 'event',
                  meta: meta,
                  descriptor: _descriptor
              };
  
              return _exist;
          }
docs: Define an event for target
  @param target
  @param name
  @param meta
  @returns {boolean}