Well, it's kind of unrelated. Although the organization was somewhat strange before, and that has not changed, the explicit dependence added here makes it all the more obvious that the organization is incorrect according to the evolving requirements.

The main motivations for moving this are:

1) Mirror the organization of the server. Makes finding things (and thus future maintenance) easier.
2) Keep related scripts nearby one another, makes changing things (such as how blocks are rendered) easier, especially as the size of the project grows.
3) Try to keep worker dependencies in the same folder, at least. Ideally they would be in a folder completely separate from the scripts on the main thread, but that's somewhat difficult with common dependencies (although it still might make sense to move worker-specific files to their own folder).

I usually try to refactor as I make changes, usually at the end of implementing a feature (no point having clean code as I'm developing it), unless there is some sort of soon-impending deadline. Otherwise, things can get really messy fast (at least in my experience). It also ties the reward of shipping a feature with the work of refactoring/cleanup, which I find helps me motivate myself to not forget the cleanup part.