function Transition(props, context) {
	    _classCallCheck(this, Transition);

	    var _this = _possibleConstructorReturn(this, (Transition.__proto__ || Object.getPrototypeOf(Transition)).call(this, props, context));

	    var initialStatus = void 0;
	    if (props.in) {
	      // Start enter transition in componentDidMount.
	      initialStatus = props.transitionAppear ? EXITED : ENTERED;
	    } else {
	      initialStatus = props.unmountOnExit ? UNMOUNTED : EXITED;
	    }
	    _this.state = { status: initialStatus };

	    _this.nextCallback = null;
	    return _this;
	  }
The Transition component lets you define and run css transitions with a simple declarative api.
It works similar to React's own [CSSTransitionGroup](http://facebook.github.io/react/docs/animation.html#high-level-api-reactcsstransitiongroup)
but is specifically optimized for transitioning a single child "in" or "out".

You don't even need to use class based css transitions if you don't want to (but it is easiest).
The extensive set of lifecyle callbacks means you have control over
the transitioning now at each step of the way.