Created ButtonFactory

Better way of handling creation of buttons.