That would be very nice, thank you very much.
Please note that this basically means rewriting most of the upgradepath code. There's too much old-days baggage in there, and it was never written in a way that would be testable. It's spaghetti code instead of clear and standalone methods and functions.
Metadata Update from @kparal: - Issue marked as depending on: #15