I don't quite understand why this is the case. The execute method in the Driver class is public and hence can be called from within subclasses. The execute method in the WebElement class is private and thus can not be called from within subclasses. This makes extending imho a little bit more difficult than necessary.
Any chance this might get changed?