Refactor Application mocks

We have a large amount of duplicate code in all the mocks even though they already extend from each other. This PR attempts to stop this trend.

No real way of testing this as it's just the mocks. Just observe the tests still pass.
Done your change anyhow - so I think this is ready to merge if you like it