require setimmediate without global namespace pollution