redesigned the concept of controllers

assignment of control elements is much more fluid
works both via data attribute and passing an object