Implementar atalhos de teclado

Eu atualmente uso oonKeyDown evento e umif/else para criar atalhos de teclado:

if ((Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift && e.Key == Key.Tab) {

} else if (e.Key == Key.Tab) {

} ...

No entanto, se eu tiver mais alguns atalhos de teclado, isso ficará confuso.

Existe uma implementação melhor?