WORKING:
1. Can create new tabs - Cmd/Ctrl + N
2. File editing "dirty" state - main tabs adopt dirty if any of the file collection is dirty
3. Dynamic properties in session that aren't serialized to localStorage (I think). Instead, they are live evaluated.
4. Can save files to disk and update UI to reflect new name / path.
5. Basic modal skeleton in place (CSS and JS)
6. "Save" dialog pops up if attempting to close a dirty tab. However, save isn't wired to the dialog.