Total Refactor

This breaks BC big time, so further work on the U2 side will be necessary. Better no composer update for now.
do you think `key` is ok? or should it be something like `name` or `configuration`?