> If you prefer, I can make it a static function of RGBAProtocol, which would remove the global.

Yes, I think that will be better.