Ilja,
I second you completely. It is the "business behaviour" that need to be considered during design. How it is done (wagging tail, smiling, pantin g..etc) is an implementation detail and should be left for individual animals to specify, for ex, cats wag tail when they are unhappy.
In this case we should identify the high level behaviours of animals like "expressing emotions", producing sound, movement, feeding etc. and define such common methods in the Animal class. Behaviors specific to certain animals (thinking, dancing etc) can be made as separate Interfaces and those animals can implement them.