play.api.json.macros.MacroSymbol
method is a getter when it takes no parameters
setter is a single arg method with specific name
generic method which takes exactly one argument