Total Refactor

This breaks BC big time, so further work on the U2 side will be necessary. Better no composer update for now.
it needs this. maybe we should inject it? then we could type hint with an interface and perhaps even swap it out if something younger and prettier comes our way?