public function beforeMagicMethodExecution(MethodInvocation $invocation)
{
$obj = $invocation->getThis();
// we need to unpack args from invocation args
list($methodName, $args) = $invocation->getArguments();
echo 'Calling Magic Interceptor for method: ', is_object($obj) ? get_class($obj) : $obj, $invocation->getMethod()->isStatic() ? '::' : '->', $methodName, '()', ' with arguments: ', json_encode($args), PHP_EOL;
}