ViewService: use WrapperService layer

This greatly reduces the amount of boilerplate code.
DragAndDropService: use HandlerService layer

This reduces the amount of boilerplate code.

There is still some repetition, mostly to make the javadoc more
intuitive.