Revert "Removed Node inheritance"

I'd like to see how this breaks tests on Travis, so that we can fix it properly. Things don't work without the inheritance.