I know that Trinidad has this functionality but the only way I can get that component to work with my project is by including Seam into the equation (tried LOTS of suggestions, found here and elsewhere but still ended up with lots of "no rederingcontext found" type errors...); still not entirely sure about how successfully it integrates, either ...haven't tried 'ajaxifying' things yet...and I haven't even dared thinking about skinning it!
I really LIKE Seam, but I am working at a Spring site/on a Spring project and having to introduce Seam just for it to be the 'glue' for Trinidad seems a bit much!
I realise I am asking you to walk down a slippery slope: reimplement one component and you'll soon be asked to reimplement EVERY other component that people know about.
However: a shuttle is such a COMMON component and I am sure that a rich version would be MUCH better...especially w.r.t. ajax and consistent skinning.
Yes such component planned to next minor release (3.1.3).