Refactored dynamic binary expressions, created DynamicBinaryExpression and hid all the work in there