Use single threaded execution to simplify all concurrency related issues