Make Expectation into a proper class, implement #with