Create abstract parent Factory