Coding like multithreading, escaping from callback hell in asynchronous programming