Tidied samples and consistently use Environment.Random, Added documentation to some public methods, Changed Process to be able to fail if it finishes with the last event failing. Moved Processing of event into Event class.