DinoDex refactor

Refactored DinoDex based on comments from first pull request.
A note that doing some dynamic `send` stuff here is probably fine as you are in the class/context which should be able to do it. So okay, but avoid in most other contexts FWIW