That's because the current vendor implementation, including all proprietary binary blobs, is made to work with a single Android version, and thus need to be reworked and ported to the new Android version for the device to work properly. (xda-developers.com)
To simplify heavily, it separates the vendor implementation from the Android framework in an effort to avoid lengthy waits for updates. (xda-developers.com)
It's not something like pie controls or device gestures, but a total redesign of the vendor implementation. (xda-developers.com)