Refactor engagement logic to allow more than just inequality operators. Add support for $not, $exists, and $contains, which is a string operator. Add tests for these operators.