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 provided by the rules engine, wherein the custom expression is defined by an expression tree; validating the custom expression using the validation context using at least one processing unit; 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; and decompiling the expression tree into a string representation of the custom expression.