I'll try to fix shared static using composition over inheritance
one mild concurrency bug, program finishes for 10000 nodes :D