def __init__(self):
        # This will be a dict with string keys representing the the resource
        # and the resource group they belong to. This is a one to many mapping
        # as some resource groups contain many resources.
        self._resource_group_map = {}
        # null producers are those that don't produce any resources externally
        # but still consume other resources (i.e., have dependencies) - these
        # are only pop initializers as of 9/26/2019. Tracker is here to assign
        # them unique ids.
        self._null_producer_count = 0
        # Attribute used for lazy (but cached) graph initialization.
        self._graph = None
        # Attribute used for lazy (but cached) graph topo sort.
        self._sorted_nodes = None