/// <summary>
        /// Adds a view
        /// </summary>
        /// <param name="v"></param>
        public void AddView(ClientView v)
        {
            ObservingClient oc = new ObservingClient();

            oc.unsubscribe = this.w.Subscribe(v);
            oc.cv          = v;

            views.Add(oc);
        }
        public void AddView(View view)
        {
            ObservingClient oc = new ObservingClient();

            oc.unsubscribe = this.world.Subscribe(view);
            oc.currentView = view;

            views.Add(oc);
        }
        /// <summary>
        /// Removes a view
        /// </summary>
        /// <param name="v"></param>
        public void RemoveView(ClientView v)
        {
            for (int i = 0; i < views.Count; i++)
            {
                ObservingClient currentOC = views[i];

                if (currentOC.cv == v)
                {
                    views.Remove(currentOC);
                    currentOC.unsubscribe.Dispose();
                }
            }
        }