@classmethod
def init_wrapper(cls, initializer, trainable, **kargs):
    """wraps the object to be used as an initializer."""
    return lambda shape: cls(initial_value=initializer(shape=shape),
        trainable=trainable, **kargs)
