Implement function decorators
Support decorators on classes as well