use Transitionable inheritance.