В Вашем случае, укладывается все в MVVM достаточно просто. Irc, StringParser и Commands — классы, лежащие в модели, при этом StringParser и Commands — по-сути синглтоны. И да, получается основной класс VM — Commands, который обрабатывает взаимодействие с пользователем.