Decorator with parameters
No arguments decorator
Decorator class
Decorator function
Fully decorated (eds own words)