* Code from http://www.juanpabloaraya.cl/posts/aop_decorator_interception.html