Tons of rework, some class names are a bit dodgy. Position and size persisted, etc.