State-tracking Go struct