Added interface and wrapper class for testability.