Added Type as indirection for handling single and collection objects using same interfaces