Data Controller framework with support for lazy loading, pagination, single- and multi-selection and observer pattern