private void Save(UTinyId id, IOriginator originator)
        {
            int version;

            if (!m_Versions.TryGetValue(id, out version))
            {
                m_Versions.Add(id, originator.Version);
            }

            if (version == originator.Version)
            {
                return;
            }

            // Skip memento generation
            if (null == OnObjectChanged)
            {
                return;
            }

            var memento = originator.Save();

            OnObjectChanged.Invoke(originator, memento);
        }
 public void SendEvent(BaseGameStateEvent e)
 {
     OnObjectChanged?.Invoke(this, e);
 }