def _register_access_method(destination, controller, key):
    """
    Helper function for register access methods.
    This helper creates distinct set and get methods for each key
    and adds them to the destination object.
    """
    def set(value): controller[key] = value
    setattr(destination, 'set_'+key, set)
    def get(): return controller[key]
    setattr(destination, 'get_'+key, get)