I changed the api to sub.DoSomething().Returns(x => x.CallBase())

Open questions are:
* Should overwriting .Returns(x => x.CallBase()) by Returns(1) call base implementation and can we avoid it?
* Should When().Do(x => x.CallBase()) syntax affect returning value, or just invoke specified actions?