/// <summary>
 /// Single property change constructor.
 /// </summary>
 /// <param name="hostId">Host id.</param>
 /// <param name="type">Property type.</param>
 /// <param name="value">Property value.</param>
 public HostPropertiesChangedEventArgs(int hostId, HostPropertyType type, object value)
     : base(hostId)
 {
     Properties = new Dictionary <HostPropertyType, object>
     {
         { type, value }
     };
 }
 /// <summary>
 /// Gets the spcecified property.
 /// </summary>
 /// <typeparam name="T">Object type of the property.</typeparam>
 /// <param name="type">HostPropertyType.</param>
 /// <returns>Property value.</returns>
 public T GetProperty <T>(HostPropertyType type)
 {
     return((T)Properties[type]);
 }
 /// <summary>
 /// Gets if specified property exists.
 /// </summary>
 /// <param name="type">Property type.</param>
 /// <returns>True if exists, otherwise false.</returns>
 public bool HasProperty(HostPropertyType type)
 {
     return(Properties.ContainsKey(type));
 }