code: function process(services) {
              if (services == null || (typeof services === "undefined" ? "undefined" : _typeof(services)) !== "object") {
                  throw new Error("Service definitions should be an object, a function returning an object (or a !!promise resolving to an object!!)");
              }
              var index = 0;
              var next = Object.keys(services)[index];
              return this.processKey(index, next, services).then(function () {
                  return this;
              }.bind(this));
          }
docs: TODO: You should be able to use promises resolving to objects