DRYed up button property setting and rendering