Many tasks in finance, science and engineering require the ability to control a dynamic system to maximise some objective. Designing controllers based on a physical understanding of systems is often time consuming and inaccurate. One is generally forced to make an increasing amount of simplifying assumptions the more complex the system is. For instance, friction, `stiction’ and flex are difficult to model and, thus, frequently ignored. An alternative is automatic learning of control. By training a probabilistic model of a system’s dynamics directly from data, we can predict how the system will evolve over time. Such predictive power enables evaluation and comparison of controllers by simulating how they would effect a system. Controller design can thus be seen as the process of finding which controller would optimise a user-supplied objective function in simulation.