how did this work back in the silver meddlists days?
reflect derived types, then instantiate. No registration, just derive :)