theres no need to handle different element `data-type`s in this case because the type is predictable when you add it. as for adding it via  css vs in javascript, i was trying to avoid adding yet another thing that must be configured when adding new elements. since this is only accessing the class from the drag source the contents of the class attribute are highly predictable, its just whatever is in the template plus the jquey ui class for being a draggable.

i went back and forth on this implementation a lot, but that was my thinking. i'm not married to this - totally open to a different implementation if anyone has strong feelings about it.