work on composition chaining pattern
work on constraints pattern (readonly, private, owner)
work on BaseChain constructor pattern, move clone in baseChain
clean extraction
use getForUpdate in put
add getValueQueryBySchemaPath
copy/paste + corrections from dum docs