Random events refactored to separate class
Merge origin/master