Added ButtonAbstract class