This is a total super huge bug.  This is how it was going to work with my dumb, 0 = no charges, 1 = charges_per_use, < 1 = returned charges API.  Now it should just be -= charges_used