[TAP] Remake TAPFactory into an abstract class + let limit the number of jobs (async and sync) by allowing the TAPFactory to communicate with a connection pool