code: function ComponentModel(key, impl, cfg) {
      this.key = key
      /**
       * @property {Any} impl The implementation to use for `resolve`
       * */
      this.impl =impl
      this._cfg = cfg || {}
      /**
       * @property {Array} inject The {String} dependencies array a service may declare
       * */
      this.inject = (this.impl.inject || [])
      /**
       * @property {String} initializable The method to invoke on an resolved service just after resolution, but before returning
       * injecting any dependencies found on that method
       * */
      this.initializable = (this.impl.initializable || false)
      /**
       * @property {String} startable The method to invoke on an resolved services when started. Usually during an app bootstrap.
       * */
      this.startable = (this.impl.startable || false)
  }
docs: Describes the model for resolving a service
  @class ComponentModel