Decorator for State Measures that only require the analysis_collection and parameters

    Saves return value to analysis_collection.state.meta with the State Measure's name as the key

def analysis_collection_and_parameter_meta(state_measure_function):
    """
    Decorator for State Measures that only require the analysis_collection and parameters

    Saves return value to analysis_collection.state.meta with the State Measure's name as the key
    """
    def wrapped_function(state_measure, analysis_collection, state_collection, overriding_parameters=None):
        measure_parameters = get_measure_parameters(state_measure, overriding_parameters)
        measure_value= state_measure_function(analysis_collection,measure_parameters)
        analysis_collection.state.meta[state_measure.name] = measure_value
        return analysis_collection
    return wrapped_function