def plan(group, current_state, desired_state)
              actions = (current_state.keys | desired_state.keys).map do |type|
                process(group, current_state[type], desired_state[type])
              end
              actions.push(ns::Purge.new(group)) if desired_state.empty?