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

...terface.