Drop Tool

Add base tool to facilitate drag and drop support.
Should this be a `try:... finally:` block?