ditching mapVCState protocol