actor as the universal primitive of concurrent computation. In response to a
message it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own
private state, but can only affect each other indirectly through messaging (obviating
lock-based synchronization).