pass this to the constructor and create a `newInstance()` method. Even though we don't have tests this makes it testable