Improve dragging support and use signals and slots for managing observables.