def run(self, delay=1):
        ''' A convenience method that alllows for the execution of a task
            serially. This task will be started by a call to self.start(),
            then every delay seconds, a call to self.finished() will check to
            see if the command has finished executing. self.run() will return
            upon completion of the command. 
        '''
        self.start()
        while(not self.finished()):
            time.sleep(delay)