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