Adds generics for underlying Swing models and worker.
Adds javadoc and null checks.
Use generics where applicable in new GUI.