Clean up our block listener some.
Don't run these calculations twice. Also, pretty sure one of these was
bugged.
Better boolean handling.