Classes should be final and we should not extend implementations. It's okay to copy an existing to make the necessary changes. We can always extract truly reusable elements and inject them as dependencies instead. The test for the new class should encompass the common elements as well, otherwise we're not truly testing them, and any unintended regressions would go unnoticed. Not a deal breaker and I'm happy to address the issue in a subsequent commit.
Originally posted by @afilina in #10 (comment)