/**
  * @param $method
  * @param $arguments
  * @return mixed
  * @throws Exception\InvalidArgumentException
  */
 public function __call($method, $arguments)
 {
     if ($this->featureSet->canCallMagicCall($method)) {
         return $this->featureSet->callMagicCall($method, $arguments);
     }
     throw new Exception\InvalidArgumentException('Invalid method (' . $method . ') called, caught by ' . __CLASS__ . '::__call()');
 }
 /**
  * @param $method
  * @param $arguments
  * @return mixed
  * @throws Exception\InvalidArgumentException
  */
 public function __call($method, $arguments)
 {
     if ($this->featureSet->canCallMagicCall($method)) {
         return $this->featureSet->callMagicCall($method, $arguments);
     }
     throw new Exception\InvalidArgumentException(sprintf('Invalid method (%s) called, caught by %s::__call()', $method, __CLASS__));
 }