Extensibility

Using `private` visibility when creating classes in a library prevents easy code reuse. For instance, in our project, we decided to use the `locale` parameter for the UI, and use another parameter (named `content_locale`) for the content. On one of our website, there will be 2 UI languages, and 4 content langauges (it is an administration interface for a swiss project). We need to have another listener, but the developer in charge of this did not extend your class because he needed to rewrite the same properties because they were private. It's a shame, and it is not the first time this scenario happens to me. I think it calls for a (new ?) best practice : 

> When writing library code, try to avoid `private` .

Do you agree ?
well, ``setUp`` should be enough for everything here. Assertions could be set in setUp.

the other alternative is to extract the creation of the mocks to a private method