diff --git a/qt/applications/workbench/CMakeLists.txt b/qt/applications/workbench/CMakeLists.txt
index 9a37e0cd243e98f71134da8b0eafbbcf7eea7121..90c9c782887d8e8649a2db86b22b1ee6f91ae491 100644
--- a/qt/applications/workbench/CMakeLists.txt
+++ b/qt/applications/workbench/CMakeLists.txt
@@ -161,8 +161,8 @@ set(TEST_FILES
     workbench/plugins/test/test_editor.py
     workbench/plugins/test/test_exception_handler.py
     workbench/plugins/test/test_jupyterconsole.py
-    workbench/plugins/test/test_memoryinfo.py
-    workbench/plugins/test/test_memorypresenter.py
+    workbench/plugins/test/test_memorywidget/test_memoryinfo.py
+    workbench/plugins/test/test_memorywidget/test_memorypresenter.py
     workbench/plugins/test/test_workspacewidget.py
     workbench/utils/test/test_workspacehistorygeneration.py
     workbench/widgets/plotselector/test/test_plotselector_model.py
diff --git a/qt/applications/workbench/workbench/app/mainwindow.py b/qt/applications/workbench/workbench/app/mainwindow.py
index 2c22dd07c3c61550501947651e78d4c1cd1eb48a..9dc4a28448cacecc8571e721fab8e9f2324789e0 100644
--- a/qt/applications/workbench/workbench/app/mainwindow.py
+++ b/qt/applications/workbench/workbench/app/mainwindow.py
@@ -174,10 +174,9 @@ class MainWindow(QMainWindow):
         self.widgets.append(self.workspacewidget)
 
         self.set_splash("Loading memory widget")
-        from workbench.plugins.memorywidget import MemoryWidget
+        from workbench.plugins.memorywidget.memorywidget import MemoryWidget
         self.memorywidget = MemoryWidget(self)
         self.memorywidget.register_plugin()
-        self.memorywidget.setMaximumHeight(70)
         self.widgets.append(self.memorywidget)
 
         # set the link between the algorithm and workspace widget
diff --git a/qt/applications/workbench/workbench/plugins/memorypresenter.py b/qt/applications/workbench/workbench/plugins/memorypresenter.py
deleted file mode 100644
index cb9092a6c9b997fd3aaa0450d1390a5c2be99f50..0000000000000000000000000000000000000000
--- a/qt/applications/workbench/workbench/plugins/memorypresenter.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from qtpy.QtCore import QTimer
-
-from workbench.plugins.memoryinfo import getMemoryUsed
-
-class MemoryPresenter(object):
-    def __init__(self, view):
-
-        self.view = view
-        self.updateMemoryUsage()
-        self.view.updateSignal.connect(self.updateMemoryUsage)
-
-        self.timer = QTimer()
-        self.timer.timeout.connect(self.view.onUpdateRequest)
-        self.timer.start(10)
-
-    def updateMemoryUsage(self):
-        mem_used_percent, mem_used, mem_avail = getMemoryUsed()
-        self.view.setValue(mem_used_percent, mem_used, mem_avail)
-
diff --git a/qt/applications/workbench/workbench/plugins/memorywidget/__init__.py b/qt/applications/workbench/workbench/plugins/memorywidget/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ffedf5d542e31f4d22d7833e9c94f5003f02b3cb
--- /dev/null
+++ b/qt/applications/workbench/workbench/plugins/memorywidget/__init__.py
@@ -0,0 +1,6 @@
+# Mantid Repository : https://github.com/mantidproject/mantid
+#
+# Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI,
+#   NScD Oak Ridge National Laboratory, European Spallation Source,
+#   Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
+# SPDX - License - Identifier: GPL - 3.0 +
diff --git a/qt/applications/workbench/workbench/plugins/memoryinfo.py b/qt/applications/workbench/workbench/plugins/memorywidget/memoryinfo.py
similarity index 90%
rename from qt/applications/workbench/workbench/plugins/memoryinfo.py
rename to qt/applications/workbench/workbench/plugins/memorywidget/memoryinfo.py
index e1a331547b3169df1f55003c7d7e40d2d32843e0..b3cb7c56d91c147566a5d58a4d4b8a0ffb97d736 100644
--- a/qt/applications/workbench/workbench/plugins/memoryinfo.py
+++ b/qt/applications/workbench/workbench/plugins/memorywidget/memoryinfo.py
@@ -8,12 +8,12 @@
 #
 #
 from psutil import virtual_memory
+conversion_factor_to_GB = 1.0 / (1024 * 1024 * 1024)
 
-def getMemoryUsed():
+def get_memory_info():
     mem_used  = virtual_memory().used
     mem_total = virtual_memory().total
     mem_used_percent = min(int(round(mem_used * 100 / mem_total)),100)
-    conversion_factor_to_GB = 1.0 / 1024 / 1024 / 1024
     mem_used_GB = mem_used * conversion_factor_to_GB
     mem_total_GB = mem_total * conversion_factor_to_GB
     return mem_used_percent, mem_used_GB, mem_total_GB
diff --git a/qt/applications/workbench/workbench/plugins/memorywidget/memorypresenter.py b/qt/applications/workbench/workbench/plugins/memorywidget/memorypresenter.py
new file mode 100644
index 0000000000000000000000000000000000000000..4dfa0f6e82bf286e6cc8412509bf5310dd13ef90
--- /dev/null
+++ b/qt/applications/workbench/workbench/plugins/memorywidget/memorypresenter.py
@@ -0,0 +1,17 @@
+from qtpy.QtCore import QTimer
+
+from ..memorywidget.memoryinfo import get_memory_info
+
+class MemoryPresenter(object):
+    def __init__(self, view):
+
+        self.view = view
+        self.update_memory_usage()
+
+        self.timer = QTimer()
+        self.timer.timeout.connect(self.update_memory_usage)
+        self.timer.start(10)
+
+    def update_memory_usage(self):
+        mem_used_percent, mem_used, mem_avail = get_memory_info()
+        self.view.set_value(mem_used_percent, mem_used, mem_avail)
diff --git a/qt/applications/workbench/workbench/plugins/memoryview.py b/qt/applications/workbench/workbench/plugins/memorywidget/memoryview.py
similarity index 71%
rename from qt/applications/workbench/workbench/plugins/memoryview.py
rename to qt/applications/workbench/workbench/plugins/memorywidget/memoryview.py
index c40390d6c37e5eeba06ecc80ebac8f0d7a9cd1e0..1adf5bbaed6a95b1a8454c026b9c2af18d953c5d 100644
--- a/qt/applications/workbench/workbench/plugins/memoryview.py
+++ b/qt/applications/workbench/workbench/plugins/memorywidget/memoryview.py
@@ -8,7 +8,6 @@
 #
 #
 from qtpy.QtWidgets import QWidget, QProgressBar
-from qtpy.QtCore import Signal
 
 NORMAL_STYLE = """
 QProgressBar::chunk {
@@ -22,15 +21,14 @@ QProgressBar::chunk {
 }
 """
 
-def fromNormalToCritical(critical, currentValue, newValue)->bool:
+def from_normal_to_critical(critical, currentValue, newValue)->bool:
     return (currentValue < critical and newValue >= critical)
 
-def fromCriticalToNormal(critical, currentValue, newValue)->bool:
+def from_critical_to_normal(critical, currentValue, newValue)->bool:
     return (currentValue >= critical and newValue < critical)
 
 class MemoryView(QWidget):
 
-    updateSignal = Signal()
 
     def __init__(self, parent):
         super(MemoryView, self).__init__(parent)
@@ -38,23 +36,20 @@ class MemoryView(QWidget):
         self.critical = 90
         self.memory_bar = QProgressBar(self)
 
-    def setBarColor(self, currentValue, newValue):
-        if (fromNormalToCritical(self.critical, currentValue, newValue)):
+    def set_bar_color(self, currentValue, newValue):
+        if (from_normal_to_critical(self.critical, currentValue, newValue)):
             self.memory_bar.setStyleSheet(CRITICAL_STYLE)
-        elif (fromCriticalToNormal(self.critical, currentValue, newValue)):
+        elif (from_critical_to_normal(self.critical, currentValue, newValue)):
             self.memory_bar.setStyleSheet(NORMAL_STYLE)
         else:
             pass
 
-    def setValue(self, newValue, mem_used, mem_avail):
+    def set_value(self, newValue, mem_used, mem_avail):
         # newValue is the mem_used_percent(int)
         currentValue = self.memory_bar.value()
         if currentValue != newValue:
-            self.setBarColor(currentValue, newValue)
+            self.set_bar_color(currentValue, newValue)
             self.memory_bar.setValue(newValue)
             display_str = "%3.1f"%mem_used + "/" + "%3.1f"%mem_avail + " GB " + \
                         "(" + "%d"%newValue+"%" +")"
             self.memory_bar.setFormat(display_str)
-
-    def onUpdateRequest(self):
-        self.updateSignal.emit()
diff --git a/qt/applications/workbench/workbench/plugins/memorywidget.py b/qt/applications/workbench/workbench/plugins/memorywidget/memorywidget.py
similarity index 80%
rename from qt/applications/workbench/workbench/plugins/memorywidget.py
rename to qt/applications/workbench/workbench/plugins/memorywidget/memorywidget.py
index dbd59f67df9392358e8e37c7dc42a979b75b31d4..0d8ff4cd1651a0b2d2aa29d1131d88561b048fb3 100644
--- a/qt/applications/workbench/workbench/plugins/memorywidget.py
+++ b/qt/applications/workbench/workbench/plugins/memorywidget/memorywidget.py
@@ -9,9 +9,9 @@
 #
 from qtpy.QtWidgets import QVBoxLayout
 
-from workbench.plugins.base import PluginWidget
-from workbench.plugins.memoryview import MemoryView
-from workbench.plugins.memorypresenter import MemoryPresenter
+from ..base import PluginWidget
+from ..memorywidget.memoryview import MemoryView
+from ..memorywidget.memorypresenter import MemoryPresenter
 
 
 class MemoryWidget(PluginWidget):
@@ -26,6 +26,9 @@ class MemoryWidget(PluginWidget):
 
         self.setLayout(layout)
         self.setWindowTitle(self.get_plugin_title())
+        # 70 is chosen as a good value after testing
+        # how it looks for different values
+        self.setMaximumHeight(70)  
 
     # ----------------- Plugin API --------------------
 
diff --git a/qt/applications/workbench/workbench/plugins/test/test_memorypresenter.py b/qt/applications/workbench/workbench/plugins/test/test_memorypresenter.py
deleted file mode 100644
index ca88fd1ab14b1379d8d3287c9fcc7df77b7a3ce4..0000000000000000000000000000000000000000
--- a/qt/applications/workbench/workbench/plugins/test/test_memorypresenter.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# Mantid Repository : https://github.com/mantidproject/mantid
-#
-# Copyright &copy; 2019 ISIS Rutherford Appleton Laboratory UKRI,
-#   NScD Oak Ridge National Laboratory, European Spallation Source,
-#   Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
-# SPDX - License - Identifier: GPL - 3.0 +
-#    This file is part of the mantid workbench.
-#
-#
-from workbench.plugins.memoryview import MemoryView
-from workbench.plugins.memoryview import fromNormalToCritical, fromCriticalToNormal
-from workbench.plugins.memorypresenter import MemoryPresenter
-
-
-import unittest
-from unittest import mock
-
-class MemoryPresenterTest(unittest.TestCase):
-    def setUp(self):
-        self.view = mock.create_autospec(MemoryView)
-
-        self.view.updateSignal = mock.Mock()
-        self.view.critical = 90
-        self.view.memory_bar = mock.Mock()
-        self.view.setBarColor = mock.Mock()
-        self.view.setValue = mock.Mock()
-        self.view.onUpdateRequest = mock.Mock()
-
-        self.presenter = MemoryPresenter(self.view)
-
-    def test_doSomething(self):
-        self.assertTrue(fromNormalToCritical(self.presenter.view.critical,
-                        75, 95))
-        self.assertFalse(fromCriticalToNormal(self.presenter.view.critical, 
-                         75, 95))
-
-        self.assertFalse(fromNormalToCritical(self.presenter.view.critical,
-                         95, 75))
-        self.assertTrue(fromCriticalToNormal(self.presenter.view.critical,
-                        95, 75))
-
-        self.assertEqual(self.presenter.view.setValue.call_count, 1)
-
-        self.view.memory_bar.value.retun_value = 95
-        self.presenter.view.memory_bar.value.retun_value = 95
-
-        self.presenter.updateMemoryUsage()
-        self.assertEqual(self.presenter.view.setValue.call_count, 2)
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/qt/applications/workbench/workbench/plugins/test/test_memorywidget/__init__.py b/qt/applications/workbench/workbench/plugins/test/test_memorywidget/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ffedf5d542e31f4d22d7833e9c94f5003f02b3cb
--- /dev/null
+++ b/qt/applications/workbench/workbench/plugins/test/test_memorywidget/__init__.py
@@ -0,0 +1,6 @@
+# Mantid Repository : https://github.com/mantidproject/mantid
+#
+# Copyright &copy; 2018 ISIS Rutherford Appleton Laboratory UKRI,
+#   NScD Oak Ridge National Laboratory, European Spallation Source,
+#   Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
+# SPDX - License - Identifier: GPL - 3.0 +
diff --git a/qt/applications/workbench/workbench/plugins/test/test_memoryinfo.py b/qt/applications/workbench/workbench/plugins/test/test_memorywidget/test_memoryinfo.py
similarity index 77%
rename from qt/applications/workbench/workbench/plugins/test/test_memoryinfo.py
rename to qt/applications/workbench/workbench/plugins/test/test_memorywidget/test_memoryinfo.py
index 2a2abfab949a6ef362bc260ca9c96f4cfa1bb6b1..788b4ac8bc0649676bb2106b8d1cbe74cb989e10 100644
--- a/qt/applications/workbench/workbench/plugins/test/test_memoryinfo.py
+++ b/qt/applications/workbench/workbench/plugins/test/test_memorywidget/test_memoryinfo.py
@@ -8,12 +8,13 @@
 #
 #
 import unittest
-from workbench.plugins.memoryinfo import getMemoryUsed
+from workbench.plugins.memorywidget.memoryinfo import get_memory_info
+
 
 class MemoryInfoTest(unittest.TestCase):
 
-    def test_MemoryInfo(self):
-        mem_used_percent, mem_used, mem_total = getMemoryUsed()
+    def test_memoryinfo(self):
+        mem_used_percent, mem_used, mem_total = get_memory_info()
         self.assertTrue(isinstance(mem_used_percent, int))
         self.assertTrue(0 <= mem_used_percent <= 100)
 
diff --git a/qt/applications/workbench/workbench/plugins/test/test_memorywidget/test_memorypresenter.py b/qt/applications/workbench/workbench/plugins/test/test_memorywidget/test_memorypresenter.py
new file mode 100644
index 0000000000000000000000000000000000000000..7302e2726632eaa39cd76fa7dcfbc158c11f0393
--- /dev/null
+++ b/qt/applications/workbench/workbench/plugins/test/test_memorywidget/test_memorypresenter.py
@@ -0,0 +1,46 @@
+# Mantid Repository : https://github.com/mantidproject/mantid
+#
+# Copyright &copy; 2019 ISIS Rutherford Appleton Laboratory UKRI,
+#   NScD Oak Ridge National Laboratory, European Spallation Source,
+#   Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
+# SPDX - License - Identifier: GPL - 3.0 +
+#    This file is part of the mantid workbench.
+#
+#
+from workbench.plugins.memorywidget.memoryview import MemoryView, \
+    from_normal_to_critical, from_critical_to_normal
+from workbench.plugins.memorywidget.memorypresenter import MemoryPresenter
+
+import unittest
+from unittest import mock
+
+
+class MemoryPresenterTest(unittest.TestCase):
+    def setUp(self):
+        self.view = mock.create_autospec(MemoryView)
+
+        self.view.critical = 90
+        self.view.memory_bar = mock.Mock()
+        self.view.set_bar_color = mock.Mock()
+        self.view.set_value = mock.Mock()
+
+        self.presenter = MemoryPresenter(self.view)
+
+    def test_presenter(self):
+        self.assertTrue(from_normal_to_critical(self.presenter.view.critical,
+                        75, 95))
+        self.assertFalse(from_critical_to_normal(self.presenter.view.critical, 
+                         75, 95))
+
+        self.assertFalse(from_normal_to_critical(self.presenter.view.critical,
+                         95, 75))
+        self.assertTrue(from_critical_to_normal(self.presenter.view.critical,
+                        95, 75))
+
+        self.assertEqual(self.presenter.view.set_value.call_count, 1)
+
+        self.presenter.update_memory_usage()
+        self.assertEqual(self.presenter.view.set_value.call_count, 2)
+
+if __name__ == "__main__":
+    unittest.main()