This may sound like a bit much and I know swap maps does something similar but I feel it would be better if it was built in.
Here's an example on how you would use it
var/map/A = new /map/House(world.maps)
usr<<"You are filled with joy."
I think it would lift a few restraints on byond...
Tell me if you would like it or dislike it.