Since _rh() is declared private, calling it with static will lead to errors in possible sub-classes

Since _rh() is declared private, calling it with static will lead to errors in possible sub-classes. You can either use self, or increase the visibility of _rh() to at least protected.