Added new classes to externalise the montecarlo functionality.
Additional tests
Additional JavaDoc
Modified UI so that it uses the externalised method