A controller (120, 520, 720) for managing the activation of at least one heating element within a thermal storage device (600, 740), the controller (120, 520, 720) comprising: a. A first interface (200, 530) for receiving a signal from a remote network operator regarding availability of power within a electricity grid for take up by the thermal storage device (600, 740); b. A processor (220, 730) configured on receipt of the signal to determine whether to switch the heating element (601, 602, 603, 745) to take up available power and to provide an activation signal in positive response of said determination; c. A switch (210, 710) in communication with the processor and configured on receipt of the activation signal to energise the heating element (601, 602, 603, 745), characterized in that the controller (120, 520, 720) is configured to: adjust a preset set-point of the thermal storage device (600, 740) to allow the device to receive additional heating above what is required for the normal usage of the device; selectively energise the heating element (601, 602, 603, 745) dependent on the current status of the thermal storage device (600, 740); and interrogate current operating parameters of the thermal storage device (600, 740) to ascertain whether additional heating is required to meet the preset set-point and to interact in a two-way signal interaction with the thermal storage device (600, 740) at the time of decision as to whether to energise the heating element (601, 602, 603, 745), the processor being configured to monitor, on receipt of the signal from the network operator, whether activation of the heating element (601, 602, 603, 745) is required to meet the preset set-point of the thermal storage device (600, 740). a. A first interface (200, 530) for receiving a signal from a remote network operator regarding availability of power within a electricity grid for take up by the thermal storage device (600, 740); b. A processor (220, 730) configured on receipt of the signal to determine whether to switch the heating element (601, 602, 603, 745) to take up available power and to provide an activation signal in positive response of said determination; c. A switch (210, 710) in communication with the processor and configured on receipt of the activation signal to energise the heating element (601, 602, 603, 745), adjust a preset set-point of the thermal storage device (600, 740) to allow the device to receive additional heating above what is required for the normal usage of the device; selectively energise the heating element (601, 602, 603, 745) dependent on the current status of the thermal storage device (600, 740); and interrogate current operating parameters of the thermal storage device (600, 740) to ascertain whether additional heating is required to meet the preset set-point and to interact in a two-way signal interaction with the thermal storage device (600, 740) at the time of decision as to whether to energise the heating element (601, 602, 603, 745), the processor being configured to monitor, on receipt of the signal from the network operator, whether activation of the heating element (601, 602, 603, 745) is required to meet the preset set-point of the thermal storage device (600, 740).