Shuffle source so it's more obvious where things are.

Add a new table object, and implement wrappers for it.