Porting the iOS implementation to state-machine based product management