New version of d3 and cleaned up internal backed fields

Changes to resolve #96 and #81. I am doing the pull requests together since I did testing together.

Note that the changes for #81 touch many lines in the shared backend code and the domain-specific code for both domains.