I'm not a big fan of defining constructors inside interfaces; it makes it more difficult to mock implementations, create decorators, etc. I'd argue also that since you have a `setEncoding()` method already, this requirement can be removed. That said, I'd argue for adding a `setConvertEncoding` method to the interface, as it's clear that you intend for that functionality in most implementations.