Moved parsing / answering to separate "task" classes