continuing refactoring abstract contexts and re-struct accessors with separated delegates instead of code-duplicating;
WIP;