'Stores a memory object.
:param new_mo: the memory object
:param overwrite: whether to overwrite objects already in memory (if false, just fill in the holes)'

def store_mo(self, state, new_mo, overwrite=True):

    (start, end) = self._resolve_range(new_mo)
    if overwrite:
        self.store_overwrite(state, new_mo, start, end)
    else:
        self.store_underwrite(state, new_mo, start, end)
