I realized that preloader lacks one important feature - dependency. I've just finished rebuilding MM_preloader.
There is no more option for sync or async mode. Instead it is possible to add dependency for each entry. For instance you can set dependency for "restore purchases" in a way that it will start preloading when "Store initialization" is done, not earlier.
You can also give more than one dependency for each entry.
In result the overall preloading is faster now because all entries starts preloading at the same time, but some of them (those with dependencies) wait until others (ones they depend on) are ready.
There is also an option to set entry as the last one to be preloaded. Very useful for stabilizer.
Adding an entry to the preloader is also a bit simplified.
And here is the log-result of above example
It is possible to preload any custom feature. Music, data, graphics, ...