Dynamic ability keys are now stored as JSON strings