Again, I worry about introducing a 10ms delay for each contact.  I would prefer to keep this synchronous and document the behavior since its an internal function if possible.