Fix Router singleton implementation

- Change `null` check to `===` for speed and consistancy
- Move conctructor to protected from public as this is not intended to
  be called outside the method as this is a singleton