you will definitely need to use the task .
asignee are directly available with the task state. another thing to note is .. jbpm api directly deals with the users, so you will have to expose the user details to the jbpm api .. as jbpm can directly delegate tasks to the users of your application without any translation.
example :
<task assignee="#{approver}" g="302,391,92,52" name="ApprovalDecision">
<transition g="-85,-6" name="isLastApprover?" to="isLastApprover"/>
</task>
here the name of the approver in assignee="#{approver}" is comming as a process variable.