You are 100% correct, and what you propose is completely logical.
In fact - though we had planned this only for 3.0, I will dicuss the matter with our development team. Although we cannot do a good job fully addressing this until 3.0, we maybe able to do most of what you are looking for in the 2.x timeframe.
Its not a matter of IF we will do what you are asking, but a matter of what timeframe makes the most sense for us.
Hopefully we can squeeze this project into 2.2.
Support Team.