It's event driven, so each main drawing component is nicely decoupled. This is based on Flight's API, where behavior is mapped to DOM nodes.
Backbone.Controller (GitHub: artyomtrityak / backbone.controller, License: MIT) by Artyom Trityak is a Backbone controller that supports declarative routes. It makes Backbone feel more like traditional MVC, which may appeal to you if you're brainwashed by other MVC frameworks.
Artyom has included some documentation showing how to bind routes using
Backbone.Controller.extend, and there's also a RequireJS AMD snippet so you can get started quickly.
You can use it as a directive, and load it with
angular.module('myApp',['lrDragNdrop']). Items can be dragged from one collection to another, copied, and sorted.