code: function (options, callback) {
  
                  if (options instanceof Function) {
                      callback = options;
                      options = {};
                  }
  
                  if (this.initialized) {
                      callback && callback(null, this);
                      return;
                  }
                  var self = this;
  
                  flow()
                      .seq(function (cb) {
                          if (self.isNew()) {
                              cb();
                          } else {
                              self.fetch(null, cb);
                          }
                      })
                      .seq(function (cb) {
                          var productType = self.$.productType;
                          productType.fetch(null, cb);
                      })
                      .seq(function () {
                          var productType = self.$.productType;
  
                          var appearance;
  
                          if (self.$.appearance) {
                              appearance = productType.getAppearanceById(self.$.appearance.$.id);
                          }
  
                          appearance = appearance || productType.getDefaultAppearance();
  
                          self.set({
                              appearance: appearance,
                              view: self.$.view || productType.getViewById(self.get("defaultValues.defaultView.id")) || productType.getDefaultView()
                          });
                      })
                      .seq(function (cb) {
                          flow()
                              .parEach(self.$.configurations.$items, function (configuration, cb) {
                                  self._setUpConfiguration(configuration);
                                  options.isExample = self.get('restrictions.example');
                                  configuration.init(options, cb);
                              })
                              .exec(function (err) {
                                  cb(err);
                              });
                      })
                      .exec(function (err) {
                          self.trigger("productInitialized");
                          self.trigger("priceChanged");
  
                          if (err) {
                              callback && callback(err);
                          } else {
                              self.initialized = true;
                              callback && callback(null, self);
                          }
                      });
              }
docs: *
  
  @param [options]
  @param callback