I thought the actor model enforced the rule that an actor would only handle one message from its mailbox at a time? For example, an actor may get bombarded with messages concurrently by other actors, but the dispatcher will only execute _one_ message at a time for the actor. That's the whole point of the actor model, so that you don't have to use synchronization or thread-safe data structures from within the actor's `receive` :-) If you're leaking the `workerMap` or `executorMap` outside of the actor, then yes you would need to make those maps thread-safe. But it's usually not a good idea to leak actor internals anyways.