When loading a drumkit it should not be done by the main thread, but rather in the background. The loading progress as well as potential errors are to be displayed in the GUI. It is important that the engine is able to run while the loading is in progress. It should either render empty samples buffers or click sounds on incoming events. In either case it may not access the drumkit data, since it is potentially incomplete and may contain invalid pointers.