added register functionality to the base object
refactored Visible and Draggable components to use register on base object
refactored Drag & Drop basic example to use the new structure