Allow sync and async (thread based) scheduling
Use async loop for erlang challenge