base class for push buttons that give visual feedback about their state