I'm not sure this is sound. The block map entry is `{encoded_location_name: {category: block_id, category: block_id}}`. If there was another location with the same name but a different category, this will remove it. Perhaps:
```
    map_entry = block_map[encoded_location_name]
    del map_entry[location.category]
    if map_entry == {}: # or whatever the best is_empty check is for a dict
       del block_map[encoded_location_name]
   self.location...
```