B. Add a new DisplayModeProvider for each of the special view types you want to support
C. Put logic into each action to select the appropriate view based on information in the request
D. You don't have to do anything. The framework automatically handles browser/device detection by reading the new extensions on the views