Abstract nodes into their own classes

Among other, smaller refactoring changes.