there is no reference anywhere in the book to where this ‘helper’ comes from; at first I tried creating a new KnowsTheDomain class, but that just caused the test step to fail as the amount in the test was $0 instead of $20.

In the Steps.java classes the helper gets passed in to the constructor, I created the same kind of constructor to get it working:

public ServerHooks(KnowsTheDomain helper) {
this.helper = helper;
}

Just adding this for anyone else suffering the same problem as it took me a while to figure this out!