Split out inference methods (strategies) into Inference.scala