Map<String, dynamic> toMap() { return <String, dynamic>{ 'top': top, 'is_right': isRight, 'ball_state': ballState.name, }; }