I have an WPF interface where I have many (over 40) buttons that perform similar tasks that were parameterized by button name, that I had linked to one Command. In my command handler I had tools to determine which of the 40 buttons had been clicked. The question was how can you selectively disable or enable some of these commands based on runtime conditions. There is concern that having one CanExecute method that would be applied to different components and differentiate based on e.Source identity would not work.