the code for the panes is getting messy. since we have one window we constantly reuse, and especially now that we have weird state-dependent validation. probably good to rework?