1. A method for enabling use of a custom expression in a rules engine, the method comprising: providing the custom expression with access to validation context; validating the custom expression using the validation context; and if the custom expression passes validation: determining which variables the custom expression reads from or writes to; providing the custom expression with access to execution context; and evaluating the custom expression.