Yes, it's unfortunate that there are so many files, but as I said before, it's very easy to glue them together again if needs be. This also makes for faster loading programs, because you only load what you need.
I think I've become used to "lots of little files" - my emacs session right now has over 1200 files open in it (from about four or five projects).
I am at a resting point in tidying - with the exception of the loaderEgg, I don't expect to make any other changes for a while. And I made you an administrator, so you could just check right in to that branch if you liked.
Regarding the "loading on a different thread" issue - my thinking is that we need to create a new, small class that handles the event loop, rather like the Display class of pygame or the
Pi3dDisplay class from echomesh. At the start of each event loop, we'd see which files had actually loaded from disk and actually call those "three lines at the end" and then an "onloaded" method for the sprite.
I won't be working (much) on this for the next couple of days - so knock yourself out! I will, however, be reading this board...