An open world is one big web
NPCs start missions, change state during them, and everything must be cancellable, restartable and saveable.
Modular by design
Polymorphism, dependency injection and the strategy pattern kept every system as modular as possible.
Still reused today
The systems ended up modular enough that I still use them in new projects.