code: public function createDefinition($id, $value = null) {
          list($id, $value) = $this->getIdAndValueFromCreateDefinitionArgs(
              func_get_args(), $id, $value
          );
  
          $definition = $this->delegateDefinitionCreation($id, $value);
          $this->addDefinition($definition);
  
          return $definition;
      }
docs: @param $id
  @param null $value
  
  @return IDefinition