start_link(M, A) -> spawn_link( fun () -> ProxyPid = self(), Ref = make_ref(), Pid = spawn_link( fun () -> mainloop( ProxyPid, Ref, M, M:init(ProxyPid, A)) end), proxy_loop(Ref, Pid, empty) end).