How do clients implement Navigator?