/// <summary>
 /// Observeses the property.
 /// </summary>
 /// <typeparam name="TParameter">The type of the owner.</typeparam>
 /// <typeparam name="TResult">The type of the result.</typeparam>
 /// <param name="parameter">The parameter.</param>
 /// <param name="propertyExpression">The property expression.</param>
 /// <returns>
 /// Result of ObservesProperty as PropertyObserver&lt;TParameter, TResult&gt;.
 /// </returns>
 public PropertyObserver <TParameter, TResult> ObservesProperty <TParameter, TResult>(
     TParameter parameter,
     Expression <Func <TParameter, TResult> > propertyExpression)
     where TParameter : INotifyPropertyChanged
     where TResult : struct =>
 PropertyObserver <TParameter, TResult> .Create(parameter, propertyExpression);
 /// <summary>
 ///     Observeses the property.
 /// </summary>
 /// <typeparam name="TResult">The type of the type.</typeparam>
 /// <param name="propertyExpression">The property expression.</param>
 /// <returns>The PropertyObserver.</returns>
 public PropertyObserver <TResult> ObservesProperty <TResult>(
     Expression <Func <TResult> > propertyExpression) =>
 PropertyObserver <TResult> .Create(propertyExpression);