Port topic routing tutorial to callback API