Removed Moq dependency and restructured for uncoupled testing.