The factory should be configurable in the constructor. It should also be final.