Major refactoring.
Engine extracted to separate module.
Java 7 support added.
Lifecycle adjusted.