constructor(options) {
    super(options)
    /**
     * a unique id prefixed with `'c'`, `c1, c232`
     *
     * @property cid
     * @type String
     */
    this.cid = uniqueId('c')
    this._ensureElement()
    this.delegateEvents()
  }
it builds an ui component by:
 * creating an id for the component `cid`
 * making sure the element is created `$el`
 * delegating all `events` to the element
@method constructor
@param {Object} options the options object