Adding missing classes for abstract factory method pattern