def makeProperty(fcn):
    """
    Helper function to create a class property.  Its used as a decorator
        to magically create class properties.

    fcn would be a static method that defines a fget, fset, fdel functions
        and the doc string for the property.  This functionally hides the
        fget, etc methods from the caller.
    """
    return property(doc=fcn.__doc__, **fcn())
