separate Parse methods into own lua class. add event dispatching for completed/cancelled flow.