I don't see how this goes against any good practice in terms of C++. It comes down to what we wanted this to do, the way it is know it will give the warnings for each instance of this class, if declared as a class static member variable it would give the warnings only one time per GCS run.