def invoke_dependencies(*args, options)
      self.dependencies.each do |name|
        if task = self.class[name] # first try if there is a task with given name
          task.call(*args, options) # TODO: what about arguments?
        elsif File.exist?(name) # if not, then fallback to file
          task_will_run?(name)
        else
          raise TaskNotFound, "Task with name #{name} doesn't exist"
        end
      end
    end
def invoke_dependencies(*args, options)
      self.dependencies.each do |name|
        if task = self.class[name] # first try if there is a task with given name
          task.call(*args, options) # TODO: what about arguments?
        elsif File.exist?(name) # if not, then fallback to file
          task_will_run?(name)
        else
          raise TaskNotFound, "Task with name #{name} doesn't exist"
        end
      end
    end
return true if the task need to be executed, false otherwise