This would need to be thread-safe.