Some Java8-ification, cleanup, but mainly thread-safety work - making sure that appropriate objects can be used safely from different threads - this is important for the case of being embedded without verticles