Separate Asynchronous Thread Logic From Your Business Logic