Introduce gadgets, configure whatever necessary to work and test it

I undertand this is a big commit and should have taken smaller steps.
But unfortunately I dove too deep to turn back or even split commits
without breaking the build.