def transition(self, **kwargs):
        """Apply an inference operator transitioning the internal state of CGpm.

        **kwargs : arbitrary keyword arguments Opaque binary parsed by the CGpm
            to apply inference over its latents. There are no restrictions on
            the learning mechanism, which may be based on optimization
            (variational inference, maximum likelihood, EM, etc), Markov chain
            Monte Carlo sampling (SMC, MH, etc), arbitrary heuristics, or
            others.
        """
        raise NotImplementedError