Has anybody created a form that allows users to move items between two lists?

I would like to let people select a subset of items from a larger list of items. One common way this is done is with a compound control that lets users move items between two lists (see image below). Other examples can be found in the Security Admin pages in Pipeline Pilot where you can move users into or out of specific groups. A nice-to-have feature would be the ability to re-arrange the object in the selected list so that the objects can be put into a specific order. Thoughts?