------------------
- Implement a ``defaultFactory`` attribute for all fields. It is a callable
that can be used to compute default values. The simplest case is::
Date(defaultFactory=datetime.date.today)
If the factory needs a context to compute a sensible default value, then it
must provide ``IContextAwareDefaultFactory``, which can be used as follows::
provider(IContextAwareDefaultFactory)
def today(context):
return context.today()
Date(defaultFactory=today)