Allow for callable defaults.

For example, a method which returns str(uuid.uuid4()) could be set
as the default for an attribute.