public bool ItemRemoved <TVal>(Expression <Func <TObj, IList <TVal> > > propertyLambda, out IAmItemRemovedEventMessage <TObj, TVal> cmessage) =>
 ItemRemoved(GetPropNameFromLambda(propertyLambda), out cmessage);
 public bool ItemRemoved <TVal>(string propertyName, out IAmItemRemovedEventMessage <TObj, TVal> cmessage)
 {
     cmessage = message as IAmItemRemovedEventMessage <TObj, TVal>;
     return(ObjectIsSuitable(message.Object) && cmessage?.Binding.PropertyName == propertyName);
 }