@startuml
package common.presentation.routes {

        class MetricsRouteInformationParser{
            Future parseRouteInformation()
            RouteInformation restoreRouteInformation()
        }

        class MetricsRouterDelegate{
            pageManager : RoutePageManager

            Widget build()
            Future<void> setNewRoutePath()
        }
        class RoutePageManager{
            static RoutePageManager of()
            Future setNewRoutePath()
        }

}

MetricsRouterDelegate --* ChangeNotifier : with
MetricsRouterDelegate --* PopNavigatorRouterDelegateMixin : with
MetricsRouterDelegate --> RoutePageManager : uses
RoutePageManager --|> ChangeNotifier : extends
Router --> MetricsRouterDelegate : uses
Router --> MetricsRouteInformationParser :uses
@enduml