In #5 and #6 we've discussed the fact that the extension has to implement the should_hit() method, even though it doesn't really need to. However, after further thought, I think that we should perform some checks in the should_hit() method, and abort the fire if we can't calculate the number of points. Because returning 0 does effectively terminate the hit, since a transaction involving 0 points is not performed or logged.
This has consequences in regard to repeatability, limits, rates, etc., which we need to consider carefully to make sure this is the right thing to do.