backed out change to separate SystemMessageProcessor because it
conflicts with no shared Actor state principle