'Register a list of fields to be lazily loaded by callback func.
:param list keys:
List of key names that `func` can provide.
:param func:
Callback function which is called when lazy key needs to be evaluated.
Function call will get this LazyDict instance as a parameter.
See :class:`LazyLookup` class for more details.'

def register_lazy_func(self, func, keys):

    ll = self._lazy_lookup
    ll.add_func(func, keys)
    for key in keys:
        if (key not in self.store):
            self[key] = ll
