I'm too lazy for the moment to test how this works, but your argument is twofold:

- It violates a logical construct that you hold
- You  believe it consumes more resources

I'll admit that I dismiss the first, but the second is an important one to me. I don't know which costs more: extending the class and accessing internal methods or not extending the class and calling global methods. 

I'll have to setup a test some time, but I've refactored this now.