title: Alternatives to @VisibleForTesting
body: <p>I understand that @VisibleForTesting is not desirable because it changes the interface of a class just for testing purposes. Ideally we should test the interface that we actually use. But what would be a good alternative?</p>