Actually I think having a style argument is more intuitive. I think "class" doesn't make a lot of sense to the average R user new to Shiny. Class is the CSS class which again does not mean much to the average R user. So I think it's better to provide direct abstractions to the user via style.