Does not uses the Factory Pattern to switch between implementations.
Builds a node-tree in memory.
Interface based.
Builds the full structure in memory.
Ideal for the lazy developer.