Refactor mocking DSL to avoid having to track global state around which matcher is in effect. Make stub()/expect() return a new matcher every time, which is then modified by given(), returns(), etc.