#41 change api to When().CallBase(), add more tests