Should be static, surely? And doesn't this duplicate code we have elsewhere? If so, please commonize.