Significant cleanup and refactoring.
Need to check if the random event can be run, otherwise check another event.