base class and simple implementation of AttractionFactory