I think one of the main thing i want to explain here is: Even if you find a term to describe something it makes more sense to just use the behaviour names. Because the pure simple behaviour names will never "collide" with something. That means you want to use the behaviour coded in a class but it doesn't make sense to inherit from it.
If you want to reuse your "swim-movement" in an u-boot you just can do that. Inheriting from "Tetrapod" will probably not make much sense.
Another thing is. If you name your classes just like your behaviours it is clear what a new class does. If you inherit from "Tetrapod" it is unclear at first what that really means and which behaviours you will inherit.
]]>