public void RegisterMessage(Simulatable source, string messageName, Action correspondingEvent) { string messageSource = source.GetMessagePath(this, messageName); correspondingEvent += () => Message.InvokeMessage(source, messages[messageSource]); }