def pause(self):
        """
        Sleep until there is either an event ready or a message is received on
        an inbox
        """
        if self.eventReady():
            self.signalEvent()
        else:
            if self.eventQueue:
                eventTime = self.eventQueue[0][0]
                super(SchedulingComponentMixin, self).pause(eventTime - time.time())
                if self.eventReady():
                    self.signalEvent()
            else:
                super(SchedulingComponentMixin, self).pause()