Creates an effect that will drop the current effect value,
    call the source's method with specified name
    with the specified arguments and keywords.
    @param method_name: the name of method belonging to the source reference.
    @type method_name: str

def source_call(method_name, *args, **kwargs):
    """
    Creates an effect that will drop the current effect value,
    call the source's method with specified name
    with the specified arguments and keywords.
    @param method_name: the name of method belonging to the source reference.
    @type method_name: str
    """

    def source_call(_value, context, **_params):
        method = getattr(context["model"].source, method_name)
        return _call(method, args, kwargs)

    return source_call