built transition lifecycle methods into the router's delegate