Thanks very much for the links. At the moment I am trying to work out which parts of your notebooks are TF-specific and which can be reused with PyMC3. I might have a look at the PyMC3 SMS code next and see where the kernel comes into play.
Thanks again @junpenglao for pointing me in the right direction.