   # run the update script upon construction
   update_aliases()
 
+  execute_drush = (msg, drush_args) ->
+    output = ''
+    msg.send "This may take a moment..."
+    clearcache = spawn("drush", drush_args)
+    clearcache.stdout.on "data", (data) ->
+      output += data
+    clearcache.stderr.on "data", (data) ->
+      output += data
+    clearcache.on "exit", (code) ->
+      output += "Command complete."
+      msg.send output
+
   allowed_commands =
     drush_sa: (msg, command) ->
       if command.args.indexOf('--update-aliases') is -1

        update_aliases(msg)

    drush_cc: (msg, command) ->
      output = ''
      msg.send "This may take a moment..."
      clearcache = spawn("drush", [command.alias, "cc", "all"])
      clearcache.stdout.on "data", (data) ->
        output += data
      clearcache.stderr.on "data", (data) ->
        output += data
      clearcache.on "exit", (code) ->
        if code is 0
          output += "Cache clear complete."
        msg.send output

    drush_rq: (msg, command) ->
      output = ''
      msg.send "This may take a moment..."
      clearcache = spawn("drush", [command.alias, "rq", "--severity=1"])
      clearcache.stdout.on "data", (data) ->
        output += data
      clearcache.stderr.on "data", (data) ->
        output += data
      clearcache.on "exit", (code) ->
        if code is 0
          output += "Core Requirements complete."
        msg.send output

    drush_pml: (msg, command) ->
      output = ''
      modules_state = "--status=enabled"
      modules_core = "--no-core"
      unless command.args.indexOf("--disabled") is -1
        modules_state = "--status=disabled"
      unless command.args.indexOf("--core") is -1
        modules_core = "--core"

      msg.send "This may take a moment..."

      spawn_options = [command.alias, "pml", modules_state, modules_core]
      pml = spawn("drush", spawn_options)
      pml.stdout.on "data", (data) ->
        output += data
      pml.stderr.on "data", (data) ->
        output = "We've experienced and error fetching module list."
      pml.on "exit", (code) ->
        if code is 0
          output += "Module list complete."
        msg.send output

  # verify alias before firing the command, saves us time on waiting for an err from drush
  verify_alias = (check_alias) ->

        command_suff = extra_args.shift()
      else
        `undefined`
    # Kinda gross but the site-alias command is the only one that does not need a site alias
    # so lets check before we fire up drush to fail.
    else unless site_alias is "sa"
      `undefined`
    else
      command_suff = site_alias
      site_alias = ''
