First stab at CanonicalStateService