Best way to select multiple while preserving order?

I have a template builder in my app and a template consists of Items.

I need to give the user the option of changing the order of items while building the template. Currently using eMultiselect for the app but wondering what other options are out there.