Tests pass after making Dimension not inherit from Hash; more refactoring to come.