Experiences creating three implementations of the repast agent modeling toolkit | Synapse