Each package re-implements mocks independently. MockStateStore in executor_test.go is 80+ lines with 25 stubbed methods. Any other package needing a fake state store must duplicate this. Extract MockStateStore, testEventCollector, and common assertion helpers into internal/testutil.