public function __call($name, $args) { if (!Command::isValidCommand($name)) { throw new \Cube\Exception\InvalidCommandException(); } $options = isset($args[0]) ? $args[0] : array(); if (!Command::areValidOptions($name, $options)) { throw new \Cube\Exception\InvalidOptionException(); } return $this->connection->call($name, $options); }