WPF MVVM Infrastructure.