Initialization of reference member of base class in derived class?

Every class should have a constructor, even if the constructor does nothing. randomAnimation does not, so the compiler generates one for you that does who knows what. Don't let that happen.

How does the base class, animation, learn of the existence of the utilities instance?

It would be a lot simpler if all the methods in the utilities class were static.