You can add a bit field to the task that is used as a flag to trigger the workflow that updates the task to run and then follow the update with a workflow that changes the status of the task to completed. The user can select the checkbox field 'bit field' when he or she is ready to close the task and the update workflow will run. Add a step after the update step to run the 'child' workflow that changes the task status to complete.
Another option is to create a workflow that runs when a task is closed, update the task status to open, add a step to update the task, and then add a step to close the task. You might need two workflows for this scenario similar to the first option I suggested.
Best Regards, Donna