public static byte[] SerializeStatefulObject(StatefulObject statefulObject)
        {
            var dictionary = new Dictionary <string, object>()
            {
                { "Type", statefulObject.GetType().AssemblyQualifiedName },
                { "State", statefulObject.GetState() },
            };

            return(StateSerialization.SerializeState(dictionary));
        }
        public static byte[] SerializeMessage(Address[] targets, string type, IDictionary <string, object> payload)
        {
            var action = new Dictionary <string, object>()
            {
                { "Targets", targets.Select(x => x?.ToString()) },
                { "Type", type },
                { "Payload", payload },
            };

            return(StateSerialization.SerializeState(action));
        }