A reactive framework for creating block-based UI via defining behaviour and relation between blocks