Added Button abstract class