Add a startup hook method
Move to Java 8
Add a @SessionVar argument builder and some generics