Refactored a bunch of code to clean up things up to make it easier to add new lottery types.