     for rule in @rootMist.rules
       rule.targets = {}
 
-  emitGroupOutput: (group, output)->
-    (@groupRefs[group] = @groupRefs[group] || []).push output
-
   ###
   # Generates templates for dependencies and outputs
   ###

        if group of groupSubs
          for rule in groupSubs[group]
            @processInput rule, output, group, groupSubs

###
# Make sure to always include `$1` in the replacement

          else
            throw "unknown input type: #{input.type}"

  ###
  # Gives a single input to a rule for processing
  #
  # rule:
  #   The rule for which to create a target based on the input
  # input:
  #   The input for which to create a target
  # group:
  #   A group, if any, that triggered the input
  # groupSubs:
  #   A dictionary of group=>rules that are subscribed to receive
  #   target outputs as inputs to process
  ###
  processInput: (rule, input, group, groupSubs = {})->
    return if input of rule.targets

