It would seem like having capabilities as part of a general 'Cabability' enum type - instead of having a large list of constants. Thoughts?