Instantiating USBMSD dynamically

The USBMSD examples I found all instantiate USBMSD through static constructors. Since it does not seem to be possible to update a Windows Explorer view of the USBMSD disk dynamically, I would like to at least be able to restart it without having to reboot the target.

I tried this by instantiating the USBMSD dynamically (so I can close and restart it any time) but this does not seem to work. From debugging it a bit I get the impression that the use of static constructors is mandatory, hopefully I am wrong. Does USBMSD support dynamic construction, if so, how?