Switch update execution to an annotation based model that allows usage of both the classic update as well as the aggregation pipeline variant. Add the reactive variant of it. Make sure to allow parameter binding for update expressions and verify method return types. Update Javadoc and reference documentation. See: #2107 Original Pull Request: #284