<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def value(self, parameter, new_value=None):
 """This function is a shortcut for any parameter. Instead of calling the widget, its config and its values, you can call directly the parameter. Parameters parameter : str name of the parameter of interest new_value : str or float, optional new value for the parameter Returns ------- str or float if you didn't specify new_value, it returns the current value. Notes ----- It's important to maintain an organized dict in DEFAULTS which has to correspond to the values in the widgets, also the name of the widget. DEFAULTS is used like a look-up table. """

        for widget_name, values in DEFAULTS.items():
            if parameter in values.keys():
                widget = getattr(self, widget_name)
                if new_value is None:
                    return widget.config.value[parameter]
                else:
                    lg.debug('setting value {0} of {1} to {2}'
                             ''.format(parameter, widget_name, new_value))
                    widget.config.value[parameter] = new_value