introduce the interface traverser, simplify engine more
simple uml
use plexus dependency injection

downgrade junit 4 to junit 3 coz PlexusTestCase does not support junit4