Based on Events
Uses Factory Pattern to switch between implementations.
Interface based.
By default it doesn't try to build the structure in memory.
Allows to convert directly from XML to specific Java Objects.
Not for the lazy developer (needs some design up front).
Author: David Megginson