Yup, i've just looked deeper in your code and i'm really confident. Used with simple care, this should solve many extra hardware thingy.

Pretty slick!