action (God::Task)

    # File lib/god/task.rb, line 233
        def action(a, c = nil)
          if Thread.current != self.driver.thread
            # called from outside Driver

            # send an async message to Driver
            self.driver.message(:action, [a, c])
          else
            # called from within Driver

            if self.respond_to?(a)
              command = self.send(a)

              case command
                when String
                  msg = "#{self.name} #{a}: #{command}"
                  applog(self, :info, msg)

                  system(command)
                when Proc
                  msg = "#{self.name} #{a}: lambda"
                  applog(self, :info, msg)

                  command.call
                else
                  raise NotImplementedError
              end
            end
          end
        end