my point is:
with the code as is .. its clear what it can do. with what you propose i am pretending that i already know the generic solution. i don't know it yet. i only know some of the issues that we will face when we work on it.