Now stores everything in EnumMaps...

...to avoid too much copying