I'm still trying to figure out why, but it feels like there is a disjoint between your intent and your solution. It could be that the mocking strategy you're pursuing is at odds with your desire to leave your classes closed. By definition, a closed class cannot be mocked. It is its own thing, and is the only thing of its kind.