animate() doesn't need to be public.