 	"This is an alist that is created based on the current
 	`boop-config-alist` to keep the results synchronized when
 	performing asynchronous actions")
-
-(defvar boop-info nil
-	"A variable to store the info produced by running the plugin scripts")
 
 (defvar boop-timer nil
 	"The value associated with the starting the boop timer so that

            ((string-equal (cdr info) boop-failure) (boop--failure (format "%s" (car info))))
            (t (boop--warning (format "%s" (car info)))))) boop-info-alist ""))

(defun boop-update-info ()
  "Execute all of the plugins and return a list of the results."
	(let* ((plugins (boop--get-plugin-alist)))
	  (-map (lambda (config)
            (let* ((id (car config))
                   (script (cdr (assoc (cadr config) plugins)))
                   (args (mapconcat 'identity (cddr config) " "))
                   (cmd (format "%s %s" script args)))
              (async-start `(lambda () (shell-command-to-string ,cmd))
                           `(lambda (result)
                              (if (assoc (quote ,id) boop-info-alist)
                                  (setf (cdr (assoc (quote ,id) boop-info-alist)) (s-trim result))
                                (setq boop-info-alist (append (list (cons (quote ,id) (s-trim result))) boop-info-alist)))))))
          boop-config-alist)))

;; Interactive Functions


;; TODO: Add in validation that `boop-plugins-dir` exists
;; TODO: Make the strategy stuff work

;;;; Customs

