Refactored dungeon class