* Want to work on this in isolation. * Can likely optimise this out to a lookup array of function pointers.