anchor.diff:      wf_context:page_module(Module),
       wf_context:params(Params),
       wf_context:context(Ctx1),
  -    render(Module:main()), % render the actions
  -    Actions = wf_context:actions(),
  -    Pid = spawn(fun() -> transition(Actions) end),
  -    PidString = io_lib:format("~p",[Pid]),
  -    wf_context:script(["TransitionProcess = '", PidString, "'"]),
       Elements = Module:main(),
       Html = render(Elements),
  +    Actions = wf_context:actions(),
  +    Pid ! {init,Actions},
       Ctx2 = fold(finish,Ctx#context.handlers,Ctx1),
       Req2 = wf:response(Html,Ctx2#context.req),
       {ok, _ReqFinal} = wf:reply(200, Req2).
  
positive.code: -compile (export_all).
  
  run(Req) ->
      Ctx = wf_context:init_context(Req),
      Ctx1 = fold(init,Ctx#context.handlers,Ctx),
      wf_context:actions(Ctx1#context.actions),
  
negative.code:         {ok,_,NewCtx} = Module:Fun([],Ctx1),
          NewCtx end,Ctx,Handlers).
  
  transition(Actions) -> 
      receive
          {init,A} -> transition(A);
          {'N2O',Pid} -> Pid ! Actions end.
  
  render_item(E) when element(2,E) == is_element -> wf_render_elements:render_element(E);
  render_item(E) when element(2,E) == is_action  -> wf_render_actions:render_action(E);
  