create a new ShardState class for tracking Shard State
use ShardState objects for reads and writes
replace Util.formatStateColumnName
move ShardState-specific code out of Util into ShardState