Erlang concurrency in circles
You can replace 

spawn (?MODULE, pingCircle, [Name, nobody] )


with

spawn (fun() -&gt; pingCircle(Name, nobody) end)


This action allows do not export pingCircle/2 from the module.
It is also recommended to use spawn_link instead of spawn, because it helps to avoid lost processes.