—Add blocks support

Adding support instead of delegates