This should be `protected` and not `public`. @okulikov, can you go through your changes and change the access modifiers of all modified methods to be as limited as possible?