Review
- visibility
- is (rw or ro)
- usually what you want
- reader/writer/accessor/init_arg
- customize the naming
- default
- provide a default value
- must be a coderef (don't want to share ref between instances!)
- required
- is the value being undefined OK?
- type constraints
- isa => ...
- make your own with Moose::Util::TypeConstraints