public function call(array $arguments)
{
$return = null;
$exception = null;
try {
$return = parent::call($arguments);
return $return;
} catch (\Exception $e) {
$exception = $e;
throw $e;
} finally {
$this->invocations[] = new Invocation($arguments, $return, $exception);
}
}