Should conditional code be in subclasses?