This is actually done already... For the most part... 6.0 is still evolving, but i feel pretty comfortable with the solution we have.
We'd be happy to have more eyes on that code and any feedback..