How would you design software that communicates effectively with external APIs and legacy databases for UNFI?