Switch to just using dicts for nodes + string inheritance (BREAKS OLD TESTS)