added implementation of composition between the button and shape class