Here is the thing... to create a task object we need a (task_state, task_xml) pair. A problem may have multiple steps, lets say 3. Then `self.task_xml` will be a list of three items. To find out what step the student is on we do `current_task_index = len(self.task_states) - 1` and then create the task with `self.create_task(self.task_states[current_task_index_index], self.task_xml[current_task_index_index])`.

Here is an example: https://github.com/edx/edx-platform/blob/release-2013-12-19/common/lib/xmodule/xmodule/tests/test_combined_open_ended.py#L445-L463

However, this will break in cases where different students are on different steps (not a problem for our courses since they only have 1 step). So instead I am going to change it so that the command explicitly specifies which step to check.