Please make all `private` members and methods `protected`. There is no reason to have them `private`.