Ability registration that doesn't suck