I am not sure if it is possible, but it would be nice if you could assign tasks to groups that you define on the task bar. So, right now if the task bar gets cluttered, tasks of the same type will get assigned into a group together until the task bar is not cluttered any more. Could you use that to create groups where tasks of different types can be grouped together so that if you are multitasking you can keep things separate and grouped how you need them to be?
Unfortunately, there are no API access to taskbar group menu.
How about you allow for "virtual desktops" that you can switch between, so when you switch from desktop 1 to 2, then all of the open windows get minimized and you have a clean taskbar. Then when you switch from 2 to 1, all of those tasks get minimized and all of the ones from desktop 1 get restored. Kind of like the functionality of switching between desktops in linux.
I don't like to make rbtray to be monstrous package full with functionality. It does what I need and is as small as I was able to implement, takes as little CPU and memory as possible.