This is a simple queue system that eliminates the problems when dealing with async behaviours (`setTimeout(fn, 0);`)