TraitOrDefault will throw an exception if multiple traits implement the interface. This (and the other code in Move) probably want to loop over the results of  `blocker.TraitsImplementing<INotifyBlockingMove>()` instead.