Improve button class and test it