> why the last 2 method calls

Only a partial answer: protected instead of private should work.