Add the ability to specify button type