diff --git a/scripts/Diffraction/isis_powder/gem.py b/scripts/Diffraction/isis_powder/gem.py
index 6f43b33fd5085a64800aec45270c3eb953bad51a..6056ef420f81bc97b3d39680afaca7c2e77cce9e 100644
--- a/scripts/Diffraction/isis_powder/gem.py
+++ b/scripts/Diffraction/isis_powder/gem.py
@@ -2,14 +2,14 @@ from __future__ import (absolute_import, division, print_function)
 
 from isis_powder.abstract_inst import AbstractInst
 from isis_powder.gem_routines import gem_advanced_config, gem_algs, gem_param_mapping
-from isis_powder.routines import common, InstrumentSettings, yaml_parser
+from isis_powder.routines import common, instrument_settings, yaml_parser
 
 
 class Gem(AbstractInst):
     def __init__(self, **kwargs):
         basic_config_dict = yaml_parser.open_yaml_file_as_dictionary(kwargs.get("config_file", None))
 
-        self._inst_settings = InstrumentSettings.InstrumentSettings(
+        self._inst_settings = instrument_settings.InstrumentSettings(
             param_map=gem_param_mapping.attr_mapping, adv_conf_dict=gem_advanced_config.get_all_adv_variables(),
             kwargs=kwargs, basic_conf_dict=basic_config_dict)
 
diff --git a/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py b/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py
index c430f7b48b5828011f8f9efce8804ba0db951a1b..ce1db4904dad1dd92e224a6d4f8885ffd5c400be 100644
--- a/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py
+++ b/scripts/Diffraction/isis_powder/gem_routines/gem_algs.py
@@ -3,7 +3,8 @@ from __future__ import (absolute_import, division, print_function)
 import mantid.simpleapi as mantid
 
 from isis_powder.routines import absorb_corrections, common
-from isis_powder.routines.RunDetails import create_run_details_object, RunDetailsFuncWrapper, WrappedFunctionsRunDetails
+from isis_powder.routines.run_details import create_run_details_object, \
+                                             RunDetailsWrappedCommonFuncs, CustomFuncForRunDetails
 from isis_powder.gem_routines import gem_advanced_config
 
 
@@ -24,8 +25,8 @@ def gem_get_chopper_config(forwarded_value, inst_settings):
 
 
 def get_run_details(run_number_string, inst_settings, is_vanadium_run):
-    cal_mapping_callable = RunDetailsFuncWrapper().add_to_func_chain(
-        WrappedFunctionsRunDetails.get_cal_mapping_dict, run_number_string=run_number_string,
+    cal_mapping_callable = CustomFuncForRunDetails().add_to_func_chain(
+        user_function=RunDetailsWrappedCommonFuncs.get_cal_mapping_dict, run_number_string=run_number_string,
         inst_settings=inst_settings
     ).add_to_func_chain(user_function=gem_get_chopper_config, inst_settings=inst_settings)
 
@@ -33,11 +34,11 @@ def get_run_details(run_number_string, inst_settings, is_vanadium_run):
     err_message = "this must be under the relevant Rietveld or PDF mode."
 
     empty_run_callable = cal_mapping_callable.add_to_func_chain(
-        user_function=WrappedFunctionsRunDetails.cal_dictionary_key_helper, key="empty_run_numbers",
+        user_function=RunDetailsWrappedCommonFuncs.cal_dictionary_key_helper, key="empty_run_numbers",
         append_to_error_message=err_message)
 
     vanadium_run_callable = cal_mapping_callable.add_to_func_chain(
-        user_function=WrappedFunctionsRunDetails.cal_dictionary_key_helper, key="vanadium_run_numbers",
+        user_function=RunDetailsWrappedCommonFuncs.cal_dictionary_key_helper, key="vanadium_run_numbers",
         append_to_error_message=err_message)
 
     return create_run_details_object(run_number_string=run_number_string, inst_settings=inst_settings,
diff --git a/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py b/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
index 86d4c97290498058017210e215311984ab6da98f..0b6cdb07213f52e7d9062c596880d0f20acf2849 100644
--- a/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
+++ b/scripts/Diffraction/isis_powder/gem_routines/gem_param_mapping.py
@@ -1,6 +1,6 @@
 from __future__ import (absolute_import, division, print_function)
 
-from isis_powder.routines.ParamMapEntry import ParamMapEntry
+from isis_powder.routines.param_map_entry import ParamMapEntry
 from isis_powder.gem_routines.gem_enums import GEM_CHOPPER_MODES
 from isis_powder.routines.common_enums import INPUT_BATCHING, WORKSPACE_UNITS
 
diff --git a/scripts/Diffraction/isis_powder/pearl.py b/scripts/Diffraction/isis_powder/pearl.py
index eff45953c8dd379b9a59407f78e6e8868125cb91..1610c2a3bbb2116eb272867f58c7c38ab74c485d 100644
--- a/scripts/Diffraction/isis_powder/pearl.py
+++ b/scripts/Diffraction/isis_powder/pearl.py
@@ -2,7 +2,7 @@ from __future__ import (absolute_import, division, print_function)
 
 import mantid.simpleapi as mantid
 
-from isis_powder.routines import common, InstrumentSettings, yaml_parser
+from isis_powder.routines import common, instrument_settings, yaml_parser
 from isis_powder.abstract_inst import AbstractInst
 from isis_powder.pearl_routines import pearl_algs, pearl_output, pearl_advanced_config, pearl_param_mapping
 
@@ -12,7 +12,7 @@ class Pearl(AbstractInst):
     def __init__(self, **kwargs):
         basic_config_dict = yaml_parser.open_yaml_file_as_dictionary(kwargs.get("config_file", None))
 
-        self._inst_settings = InstrumentSettings.InstrumentSettings(
+        self._inst_settings = instrument_settings.InstrumentSettings(
            param_map=pearl_param_mapping.attr_mapping, adv_conf_dict=pearl_advanced_config.get_all_adv_variables(),
            basic_conf_dict=basic_config_dict, kwargs=kwargs)
 
diff --git a/scripts/Diffraction/isis_powder/pearl_routines/pearl_algs.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_algs.py
index 135161807334802e82997a7a74e48a5b96c7d7c7..2f102fa336cdef9c0eede70d00d6ef687fe37c4e 100644
--- a/scripts/Diffraction/isis_powder/pearl_routines/pearl_algs.py
+++ b/scripts/Diffraction/isis_powder/pearl_routines/pearl_algs.py
@@ -4,7 +4,7 @@ import numpy as numpy
 import mantid.simpleapi as mantid
 
 import isis_powder.routines.common as common
-from isis_powder.routines.RunDetails import create_run_details_object, RunDetailsFuncWrapper
+from isis_powder.routines.run_details import create_run_details_object, CustomFuncForRunDetails
 
 
 def attenuate_workspace(attenuation_file_path, ws_to_correct):
@@ -75,7 +75,7 @@ def get_run_details(run_number_string, inst_settings, is_vanadium_run):
     if inst_settings.long_mode:
         splined_name_list.append("_long")
 
-    grouping_file_name_callable = RunDetailsFuncWrapper().add_to_func_chain(
+    grouping_file_name_callable = CustomFuncForRunDetails().add_to_func_chain(
         user_function=_pearl_get_tt_grouping_file_name,
         inst_settings=inst_settings)
 
@@ -112,7 +112,8 @@ def normalise_ws_current(ws_to_correct, monitor_ws, spline_coeff, lambda_values,
     splined_monitor_ws = mantid.SplineBackground(InputWorkspace=processed_monitor_ws,
                                                  WorkspaceIndex=0, NCoeff=spline_coeff)
 
-    normalised_ws = mantid.ConvertUnits(InputWorkspace=ws_to_correct, Target="Wavelength", OutputWorkspace=ws_to_correct)
+    normalised_ws = mantid.ConvertUnits(InputWorkspace=ws_to_correct, Target="Wavelength",
+                                        OutputWorkspace=ws_to_correct)
     normalised_ws = mantid.NormaliseToMonitor(InputWorkspace=normalised_ws, MonitorWorkspace=splined_monitor_ws,
                                               IntegrationRangeMin=integration_range[0],
                                               IntegrationRangeMax=integration_range[-1],
diff --git a/scripts/Diffraction/isis_powder/pearl_routines/pearl_enums.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_enums.py
index 6ac69a37400dac8c39f42f9b09bf1df107f85880..ff884077028ce97bfab87613e345f077480c188c 100644
--- a/scripts/Diffraction/isis_powder/pearl_routines/pearl_enums.py
+++ b/scripts/Diffraction/isis_powder/pearl_routines/pearl_enums.py
@@ -2,7 +2,7 @@ from __future__ import (absolute_import, division, print_function)
 
 
 class PEARL_FOCUS_MODES(object):
-    enum_friendly_name  = "focus modes"
+    enum_friendly_name = "focus modes"
     all = "all"
     groups = "groups"
     trans = "trans"
diff --git a/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py
index b437e99a6c2c5b5fca9fb03253d32d7af8f779e2..1e07be4b10fd3a44fc302ece4c0e051e1041f216 100644
--- a/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py
+++ b/scripts/Diffraction/isis_powder/pearl_routines/pearl_param_mapping.py
@@ -1,6 +1,6 @@
 from __future__ import (absolute_import, division, print_function)
 
-from isis_powder.routines.ParamMapEntry import ParamMapEntry
+from isis_powder.routines.param_map_entry import ParamMapEntry
 from isis_powder.pearl_routines.pearl_enums import PEARL_FOCUS_MODES, PEARL_TT_MODES
 
 #                 Maps friendly user name (ext_name) -> script name (int_name)
diff --git a/scripts/Diffraction/isis_powder/polaris.py b/scripts/Diffraction/isis_powder/polaris.py
index 10c1fbe863851d6a24a829de15d36c01fc8ad426..510898ed047896ba58d0b9fbf52872d4ec79b040 100644
--- a/scripts/Diffraction/isis_powder/polaris.py
+++ b/scripts/Diffraction/isis_powder/polaris.py
@@ -2,7 +2,7 @@ from __future__ import (absolute_import, division, print_function)
 
 import os
 
-from isis_powder.routines import common, InstrumentSettings, yaml_parser
+from isis_powder.routines import common, instrument_settings, yaml_parser
 from isis_powder.abstract_inst import AbstractInst
 from isis_powder.polaris_routines import polaris_advanced_config, polaris_algs, polaris_param_mapping
 
@@ -10,7 +10,7 @@ from isis_powder.polaris_routines import polaris_advanced_config, polaris_algs,
 class Polaris(AbstractInst):
     def __init__(self, **kwargs):
         basic_config_dict = yaml_parser.open_yaml_file_as_dictionary(kwargs.get("config_file", None))
-        self._inst_settings = InstrumentSettings.InstrumentSettings(
+        self._inst_settings = instrument_settings.InstrumentSettings(
             param_map=polaris_param_mapping.attr_mapping, adv_conf_dict=polaris_advanced_config.variables,
             basic_conf_dict=basic_config_dict, kwargs=kwargs)
 
diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py
index cbb1f10fec1db0b79b769608271416fa87467731..2bacd4e670a9112c786c232b35474279b05551fb 100644
--- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py
+++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_algs.py
@@ -3,7 +3,8 @@ from __future__ import (absolute_import, division, print_function)
 import mantid.simpleapi as mantid
 
 from isis_powder.routines import absorb_corrections, common
-from isis_powder.routines.RunDetails import create_run_details_object, RunDetailsFuncWrapper, WrappedFunctionsRunDetails
+from isis_powder.routines.run_details import create_run_details_object, \
+                                             CustomFuncForRunDetails, RunDetailsWrappedCommonFuncs
 from isis_powder.polaris_routines import polaris_advanced_config
 
 
@@ -18,20 +19,20 @@ def calculate_absorb_corrections(ws_to_correct, multiple_scattering):
 
 def get_run_details(run_number_string, inst_settings, is_vanadium_run):
     # Get the chopper mode as vanadium and empty run numbers depend on different modes
-    chopper_config_callable = RunDetailsFuncWrapper().\
-        add_to_func_chain(user_function=WrappedFunctionsRunDetails.get_cal_mapping_dict, run_number_string=run_number_string,
-                          inst_settings=inst_settings).\
+    chopper_config_callable = CustomFuncForRunDetails().\
+        add_to_func_chain(user_function=RunDetailsWrappedCommonFuncs.get_cal_mapping_dict,
+                          run_number_string=run_number_string, inst_settings=inst_settings).\
         add_to_func_chain(user_function=polaris_get_chopper_config, inst_settings=inst_settings)
 
     # Then use the results to set the empty and vanadium runs
     err_message = "this must be under the relevant chopper_on / chopper_off section."
 
     empty_runs_callable = chopper_config_callable.add_to_func_chain(
-        WrappedFunctionsRunDetails.cal_dictionary_key_helper,
+        RunDetailsWrappedCommonFuncs.cal_dictionary_key_helper,
         key="empty_run_numbers", append_to_error_message=err_message)
 
     vanadium_runs_callable = chopper_config_callable.add_to_func_chain(
-        WrappedFunctionsRunDetails.cal_dictionary_key_helper, key="vanadium_run_numbers",
+        RunDetailsWrappedCommonFuncs.cal_dictionary_key_helper, key="vanadium_run_numbers",
         append_to_error_message=err_message)
 
     run_details = create_run_details_object(run_number_string=run_number_string, inst_settings=inst_settings,
diff --git a/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py b/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py
index 57a8976aca489f0fc252c6a7fdb95439c54deed7..50d351e942f2b308881256c4eb48e43907d5663c 100644
--- a/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py
+++ b/scripts/Diffraction/isis_powder/polaris_routines/polaris_param_mapping.py
@@ -1,6 +1,6 @@
 from __future__ import (absolute_import, division, print_function)
 
-from isis_powder.routines.ParamMapEntry import ParamMapEntry
+from isis_powder.routines.param_map_entry import ParamMapEntry
 from isis_powder.routines.common_enums import INPUT_BATCHING
 
 #                 Maps friendly user name (ext_name) -> script name (int_name)
diff --git a/scripts/Diffraction/isis_powder/routines/calibrate.py b/scripts/Diffraction/isis_powder/routines/calibrate.py
index 27340edc26dcdf7d0d9aa253ed6880e124b30433..de50863aaea67c6bcc318500b162f9559d378c8d 100644
--- a/scripts/Diffraction/isis_powder/routines/calibrate.py
+++ b/scripts/Diffraction/isis_powder/routines/calibrate.py
@@ -45,7 +45,7 @@ def create_van(instrument, run_details, absorb):
 
     _create_vanadium_splines(focused_spectra, instrument, run_details)
 
-    common.keep_single_ws_unit(d_spacing_group=d_spacing_group,tof_group=tof_group,
+    common.keep_single_ws_unit(d_spacing_group=d_spacing_group, tof_group=tof_group,
                                unit_to_keep=instrument._get_unit_to_keep())
 
     common.remove_intermediate_workspace(corrected_van_ws)
diff --git a/scripts/Diffraction/isis_powder/routines/focus.py b/scripts/Diffraction/isis_powder/routines/focus.py
index 4a6ea3ca31554740f3732f18f0100cc14e1db1cb..b03dbd203ed7f64e31e14c2f7534bb976de818ed 100644
--- a/scripts/Diffraction/isis_powder/routines/focus.py
+++ b/scripts/Diffraction/isis_powder/routines/focus.py
@@ -45,7 +45,7 @@ def _focus_one_ws(ws, run_number, instrument, perform_vanadium_norm):
     # Output
     d_spacing_group, tof_group = instrument._output_focused_ws(cropped_spectra, run_details=run_details)
 
-    common.keep_single_ws_unit(d_spacing_group=d_spacing_group,tof_group=tof_group,
+    common.keep_single_ws_unit(d_spacing_group=d_spacing_group, tof_group=tof_group,
                                unit_to_keep=instrument._get_unit_to_keep())
 
     # Tidy workspaces from Mantid
diff --git a/scripts/Diffraction/isis_powder/routines/instrument_settings.py b/scripts/Diffraction/isis_powder/routines/instrument_settings.py
index 1b59960961fb6b216d244645c153e535a61d6b90..2328127017ae6283aeb14f9f7d248fee19a43056 100644
--- a/scripts/Diffraction/isis_powder/routines/instrument_settings.py
+++ b/scripts/Diffraction/isis_powder/routines/instrument_settings.py
@@ -6,7 +6,7 @@ import warnings
 
 # Have to patch warnings at runtime to not print the source code. This is even advertised as a 'feature' of
 # the warnings library in the documentation: https://docs.python.org/3/library/warnings.html#warnings.showwarning
-def warning_no_source(msg, *ignored):
+def warning_no_source(msg, *_):
     return str(msg) + '\n'
 
 warnings.formatwarning = warning_no_source
diff --git a/scripts/Diffraction/isis_powder/routines/run_details.py b/scripts/Diffraction/isis_powder/routines/run_details.py
index 5013067591108012471b3cf8d774745267b4398d..423ce13a6bfab2e24faa736731a6c10d5c5f62fd 100644
--- a/scripts/Diffraction/isis_powder/routines/run_details.py
+++ b/scripts/Diffraction/isis_powder/routines/run_details.py
@@ -97,8 +97,8 @@ class RunDetailsWrappedCommonFuncs(object):
 
     @staticmethod
     def cal_dictionary_key_helper(key, append_to_error_message=None, **kwargs):
-        forwarded_value = kwargs.pop("forwarded_value")
-        return common.cal_map_dictionary_key_helper(dictionary=forwarded_value, key=key,
+        dictionary = kwargs.pop("forwarded_value")
+        return common.cal_map_dictionary_key_helper(dictionary=dictionary, key=key,
                                                     append_to_error_message=append_to_error_message)
 
 
diff --git a/scripts/test/ISISPowderRunDetailsTest.py b/scripts/test/ISISPowderRunDetailsTest.py
index 604028dc328b4dccb387a0947d34aeb3d42c1352..7e31d8066e7d87c34b51505ff4aea803c2cf8ca1 100644
--- a/scripts/test/ISISPowderRunDetailsTest.py
+++ b/scripts/test/ISISPowderRunDetailsTest.py
@@ -74,9 +74,12 @@ class ISISPowderInstrumentRunDetailsTest(unittest.TestCase):
         mock_inst = self.setup_mock_inst_settings(yaml_file_path="ISISPowderRunDetailsTestCallable.yaml")
 
         # Get the YAML file as a dict first
-        wrapped_funcs = run_details.WrappedFunctionsRunDetails
+        wrapped_funcs = run_details.RunDetailsWrappedCommonFuncs
 
-        yaml_callable = run_details.CustomFuncForRunDetails(function=wrapped_funcs.get_cal_mapping_dict,
+        import pydevd
+        pydevd.settrace('localhost', port=34901, stdoutToServer=True, stderrToServer=True)
+
+        yaml_callable = run_details.CustomFuncForRunDetails(user_function=wrapped_funcs.get_cal_mapping_dict,
                                                             run_number_string=run_number_string,
                                                             inst_settings=mock_inst)
 
@@ -84,8 +87,7 @@ class ISISPowderInstrumentRunDetailsTest(unittest.TestCase):
                                                          key="custom_empty_run_numbers")
         vanadium_callable = yaml_callable.add_to_func_chain(user_function=wrapped_funcs.cal_dictionary_key_helper,
                                                             key="custom_vanadium_run_numbers")
-        grouping_callable = run_details.CustomFuncForRunDetails(function=lambda: expected_grouping_file_name)
-
+        grouping_callable = run_details.CustomFuncForRunDetails(user_function=lambda: expected_grouping_file_name)
         output_obj = run_details.create_run_details_object(run_number_string=run_number_string, inst_settings=mock_inst,
                                                            is_vanadium_run=True, empty_run_call=empty_callable,
                                                            vanadium_run_call=vanadium_callable,