We may decide to add public methods to this in future, I think this should be left public.