Refactoring and code optimization

- Removed interfaces
- Removed unused methods
- Removed game history
- Changed DiceValue exception handling to assertions