Many telescope control systems now make use of the so-called 'virtual telescope' concept -- a software abstraction of the real telescope which masks imperfections in the hardware from higher levels of the software. In general, this approach allows for elegant and rigorous control of telescope pointing and tracking. When slewing, however, while the virtual telescope arrives on source immediately, the real telescope only catches up after some time. This is especially a problem when performing raster-scanned observations: since the demand position and velocity have discontinuities at the end of each row, a naive implementation of the standard virtual telescope system results in missing the demand positions at the start of each row. In the existing JCMT telescope control system (TCS), this problem is solved by having the TCS calculate a route in (az,el) space for the real telescope to follow which results in it arriving at the correct position, moving with the correct velocity, at a predictable time in the future. In this paper we describe a generalized implementation of this technique, which has the added advantage that the 'astrometric kernel' and 'telescope servo' layers are cleanly separated, allowing telescope-specific hardware to be combined with a generic astrometric kernel. Since the solution requires only minimal changes to the standard virtual telescope design, this approach may be of interest to other telescopes which are currently using, or are planning to use that design.