ImageGenerator was splitted into pair of subclasses