[BACKLOG-1015] - Refactored existing logic for DiscoverFields into an interface.