I would personally prefer if the methods that are the "external API" be public. Yes, the outer class can call private methods directly, but most IDEs show public methods differently, let you filter out non-public methods when browsing, etc.