Catching a literal ${MY_LICENSE_KEY} from an unset variable and giving a helpful message is a tiny detail that probably saves a pile of support emails. For past_due, would you store the grace end date on the entitlements row itself, or keep it as a rule inside hasAccess()?