This makes it clearer what the public interface is vs what subclasses need to implement.
This commit adds the necessary tables and columns, as well as an implementation of an online topological sorting algorithm to maintain an absolute ordering of the room chunks.