Refactored to use a common table row interface with an implementation for the initial state and an implementation for the incremental one
Removed code to check for null that is no longer required when we throw an exception if null during constructor
Added InitialTable that initialises it's table rows from the teams in the division