Refactor ViolationSet and PlayerManager for different data storage