We should not be getting the client pointer and casting to a subclass, as is done in several places. Many of these uses can be converted to calls on BackForwardController. For other calls, if code in WK/WK2 needs to use a concrete subclass of BackForwardClient, then it should store a pointer to the subclass instance and pass it to WebCore using PageClients.