The query module state needs to be split into smaller modules so that new features can be implemented and maintained easier.
This is required to make query tabs in a worksheet, so it blocks MXS-4025.
In addition, to save and load .sql files in IDE, it's technically possible to implement it, but from the UX point of view, with the current design, when loading a file to the editor, there is no good way to show the name of the loaded file. By having a query tab inside a worksheet and using the loaded file name as that query tab name, it explicitly tells which file is loaded. So then
MXS-4025 blocks MXS-3723.