		public bool Subscribe($$$-Interface-$$$ sink)
		{
			if ($$$-sink_list-$$$.Contains(sink))
			{
				Debug.Assert(false);
				return false;
			}
			$$$-sink_list-$$$.Add(sink);
			return true;
		}

		public bool Unsubscribe($$$-Interface-$$$ sink)
		{
			if (!$$$-sink_list-$$$.Contains(sink))
			{
				Debug.Assert(false);
				return false;
			}

			$$$-sink_list-$$$.Remove(sink);
			return true;
		}
