Adding support to customize the textfield with object
Refactoring, adding a object to represent the block/color/title of an button, make easier to refactor
Added support to customize the textfield