Added comprehensive tests for the player machine. The playerMachine.test.ts file covers the core state transitions and event handling, improving confidence in the central state management logic.

Extracted buyAndUpgradeShipMachine from the player machine into its own module. This machine handles the combined buy-and-upgrade flow, making the player machine simpler and the upgrade logic more testable.

Reorganized data modules by extracting probes, ships, and strategies into separate files. Moved persistStrategy from components to the data layer where it belongs.

Improved the trade routes list with better display and more information. Removed more global state dependencies to improve testability.