App does not need to be final.
Separate out app and window.
Add msgpack and store window positions.