I'd like the drop functionality to be moved into a subclass before accepting this in the pull request.