Refresher: What is a decorator?
Decorators are functions which have four main capabilities when applied to a class or class element
Decorators receive the original value, and can replace it with another value that has the same shape.
Decorators can run code to initialize the decorated value per-instance.
Decorators can add metadata which is then readable by external code.
Decorators can provide access to the decorated value via `access` object
`accessor` can be used to create automatic getters/setters on a fiel