Allow setting extension's properties via a function too.
Allow setting extension's properties via a function too.

"properties" doesn't have to be a variable, it may be a classmethod that
returns a list or yields the properties.

vslavik/bakefile,vslavik/bakefile,vslavik/bakefile