Drag and drop output ref

@millerdev 
not sure where these functions belong. Initially thought of `utils` but that's not currently required by `core`. Any objection to adding dependency from `core` to `utils`?