Continued working on the public retrieve API.

Refactored the Utility class and UtilitySpec tests for better code reuse.