/// <summary>
        /// Save the model state!
        /// </summary>
        /// <returns></returns>
        public bool LoadDomain()
        {
            var fd = new OpenFileDialog();
            fd.ShowDialog();
            var filename = fd.FileName;

            using (var stream = File.Open(filename, FileMode.OpenOrCreate))
            {
                if (stream.Length > 0)
                {
                    M = new BinaryFormatter().Deserialize(stream) as DomainSnowflake;
                    Console.WriteLine("Load Domain!");
                    UpdateViews();
                    return true;
                }
            }

            return false;
        }
 /// <summary>
 /// May I have a new controller for this domain?
 /// </summary>
 /// <param name="model">The domain acting as model</param>
 public ControllerSnowflakePersonal(DomainSnowflake model)
     : base(model)
 {
 }
 /// <summary>
 /// May I have a new controller for this domain?
 /// </summary>
 /// <param name="model">The domain acting as model</param>
 public ControllerSnowflakeScientific(DomainSnowflake model)
 {
     M = model;
 }