I don't like how this is called "init", but actually does all the work. I think the public interface that creates assertion should be ```createAssertion```, currently called ```getAssertion```. Something called ```get``` usually doesn't have side effects.