'data: a nested dictionary:
knowledge_date -> lookup_date ->
{add: [symbol list], \'delete\': []}, delete: [symbol list]}
current_date_func: function taking no parameters, returning
current datetime'

def __init__(self, data, current_date_func, asset_finder):

    self.data = data
    self._cache = {}
    self._knowledge_dates = self.make_knowledge_dates(self.data)
    self.current_date = current_date_func
    self.count = 0
    self._current_set = set()
    self.asset_finder = asset_finder
