Add hooks to be called before and after the roll. Not sure why. after() should have the result yielded to it for manipulation.