DAR-1184, create UIComponent module
DAR-1184, small refactoring + adding comments