Introduce instance-level SpecialFunds.

Also refactor to reduce some duplication here.