You can replace Navigator with a custom implementation provided that it supports the
current external interfaces.
Your replacement implementation must satisfy the following:
- publish to the same Persistent Publish/Subscribe (PPS) objects
- subscribe to the same PPS objects and handle state changes appropriately
- register with the platform for the same events