;; send tasks for normal execution as callback tasks
(define (callback time func . args)
(let ((payload (if (symbol? func)
(cons callback-adapter (cons func args))
(cons func args))))
(call-cpp-at-time time 2 *callback* payload (current-environment))))