If the default value is a simple scalar that only needs to be
calculated once (or a constant), use C<default>.
If the default value is an empty reference that needs to be wrapped in
a coderef like C, use C<default>.
Otherwise, use C<builder>.
This ensures that your classes are easily subclassable, and also helps
keep crufty code out of your attribute definition blocks.