Ok, that's one way of doing it, but typically not recommended. Take a look at the human task handlers in jBPM, for example AsyncWSHumanTaskHandler. Those implementations are alot closer to reality. In your example I still think you need to call manager.completeWorkItem in order to advance.
Thanks.