I have seen this approach for the first time.
On the other hand protected doesn't make class too open.
It is interesting.