I'd really prefer to avoid `__` prefixed attributes. They cause name mangling, which makes all sorts of things hard, and should only be used when there's an explicit need to prevent subclasses (or other objects) from accidentally stomping on things.