Adding binding modifiers API. General refactoring and new tests.