I intentionally used double-underscores to indicate privacy of those methods (something that's rarely done in Python except in the stdlib). Indeed, I rarely use this technique any more. In any case, the privacy of those methods means they're safe to replace in any way based on the underlying implementation. I'm not adamant about keeping them, but I'd suggest only exposing them when there's a concrete request that they be made non-private.