The Telerik RadDragAndDrop manager relies on attached properties and routed events. With attached properties you can mark any object as a drag source or drop target, you do not need to register it in code.
Also with the routed events you can implement rules on a class-wide basis or module basis.
Here I posted a preview of an application that implements drag-drop logic in different ways:
For example it makes all expandable control expand on drag over by using Class event handlers, which basically means that you can implement logic for many elements at once, without knowing when or how it would be created, without even having a reference to it.
The routed events allow you to control the behavior of all controls of a single type at once or scoping down to a visual part of the application.
We will be happy to help you with any features that you are interested in or advice how something can be implemented.