def __init__(self, system_dispatcher=None):
self._system_dispatcher = Dispatcher(Executor())if system_dispatcher is None else system_dispatcher<EOL>self._dead_letters = _DeadLetterRef()<EOL>self._terminate_promise = Promise()<EOL>class Guardian(Actor):<EOL><INDENT>def __init__(me):<EOL><INDENT>me._logger = logging.getLogger(__name__)<EOL><DEDENT>def receive(me, message):<EOL><INDENT>me._logger.warning("<STR_LIT>")<EOL><DEDENT>def post_stop(me):<EOL><INDENT>self._terminate_promise.complete(None)<EOL><DEDENT><DEDENT>self._guardian = InternalRef(actors.internal.cell.Cell(Guardian,<EOL>dispatcher=self._system_dispatcher, system=self, parent=None))<EOL>self._guardian.send_system_message(Start)<EOL>actors.internal.factory.ActorFactory.__init__(self, self, self._guardian)<EOL>
The actor system is responsible for creating, configuring and stopping actors and
dispatchers.

Normally, only one system per application should be created.

:param system_dispatcher: Override the dispatcher used by the system. This also acts as the
    default dispatcher for new actors.
:type system_dispatcher: :class:`Dispatcher`