1. A method of activating functionality comprising: (a) receiving a feature authorization message (FAM) in a set-top box, wherein the FAM comprises: (i) one or more rules to be evaluated, wherein each of the rules comprises one or more tests for a status of one or more conditional access module (CAM) attributes, wherein one of the tests for the status of the conditional access module (CAM) attributes comprises: (1) test data and status assessment data specified by a rule in the feature authorization message; (2) delivery to the CAM of said test data; (3) generation by the CAM of output data that depends on said test data and on CAM attributes; (4) delivery of said output data from the CAM; and (5) assessment of the status of CAM attributes based on said output data and said status assessment data; (ii) one or more event requirements for rule evaluation, wherein the one or more event requirements comprise one or more triggers used to determine when to test the one or more rules; and (iii) one or more features that are dependent by the rule evaluation result, wherein each of the one or more features represents a set of one or more abilities of hardware and/or software; (b) when one or more of the event requirements have been met, evaluating the one or more rules to obtain a result; and (c) setting the ability to use the one or more features based on the result.