Extract WithDictionary abstract class