modified button class to use dict kwargs for settings