These functions can all be modified to take in the required instance, rather than using the global system accessor.