run callbacks in threads