This class does not have to be public.