This is a type that is usually extended by multiple types to create a shared behavior. This type is used to generalize types that have IK solver functions where they can have targets, recalculation methods, and is generally used as a way of controlling limbs in a common manner.