def METHOD_NAME(self):
    """
    Because we enter abbreviated and extended data
    in no particular order, and for any time period,
    we might have ship instances with no name attached
    This method removes such entries from the dict
    """
    # we cannot do all in a single loop as this would amount to
    # changing the loop subject
    # so let us collect the ids to remove first
    unnamed_ids = {id for id, ship in self.items()
                   if ship.name is None}
    # and remove them next
    for id in unnamed_ids:
        del self[id]