def add_widgets(self):
        self.zmq_context = zmq.Context()
        self.main_widget = QtGui.QWidget(self)
        grid_layout = QtGui.QGridLayout(self.main_widget)

        plaza_publish_endpoint = "tcp://127.0.0.1:18002"

        # Add PsiModulatorUpdaterAgentMonitor
        self.PsiModulatorUpdaterAgentMonitor = MonitorThread(
            self.zmq_context,
            plaza_publish_endpoint,
            "PsiModulatorUpdaterAgent",
            self.main_widget,
            width=5,
            height=4,
            dpi=100)
        grid_layout.addWidget(self.PsiModulatorUpdaterAgentMonitor.widget, 0,
                              0)

        # Add PsiFeelingUpdaterAgentMonitor
        self.PsiFeelingUpdaterAgentMonitor = MonitorThread(
            self.zmq_context,
            plaza_publish_endpoint,
            "PsiFeelingUpdaterAgent",
            self.main_widget,
            width=5,
            height=4,
            dpi=100)
        grid_layout.addWidget(self.PsiFeelingUpdaterAgentMonitor.widget, 0, 1)

        # Add PsiDemandUpdaterAgentMonitor
        self.PsiDemandUpdaterAgentMonitor = MonitorThread(
            self.zmq_context,
            plaza_publish_endpoint,
            "PsiDemandUpdaterAgent",
            self.main_widget,
            width=5,
            height=4,
            dpi=100)
        grid_layout.addWidget(self.PsiDemandUpdaterAgentMonitor.widget, 1, 0)

        # Add StimulusUpdaterAgentMonitor
        self.StimulusUpdaterAgentMonitor = MonitorThread(
            self.zmq_context,
            plaza_publish_endpoint,
            "StimulusUpdaterAgent",
            self.main_widget,
            width=5,
            height=4,
            dpi=100)
        grid_layout.addWidget(self.StimulusUpdaterAgentMonitor.widget, 1, 1)

        self.main_widget.setFocus()
        self.setCentralWidget(self.main_widget)

        # Don't forget start the threads of all the monitors,
        # otherwise you will get nothing!
        self.PsiModulatorUpdaterAgentMonitor.start()
        self.PsiFeelingUpdaterAgentMonitor.start()
        self.PsiDemandUpdaterAgentMonitor.start()
        self.StimulusUpdaterAgentMonitor.start()