Adding support for Java Serialisation.
Draft for using an ExecutorService for potential parallelisation.