def skipable(self):
        ''' A method called from within run. If a task is dependant on a this
            supervisor, then this supervisor will query all of its tasks to
            determine if the supervisor doesn't need to be executed. A
            Supervisor is skippable if and only if all of the Supervisor's
            tasks are skipable.
        '''
        for t in self.tasks:
            if(not t.skipable()):
                return False
        return True