Rename NodeGetter to NodeAccessor and make it easy to override.
Introduce static create methods to avoid specifying explicit type parameter.