Totally.. you should be using those internal classes. The one called task handler is the one incharge of parsing the xml tag, as far as I remember.
The other ones like CommandBasedWSHTWorkItemHandler, where HT means Human Task is in charge of handling the Human interactions from the session perspective. This Handler will be in charge of creating new task on the task server component when a processes hits one User Task node.
Greetings.