factory pattern to create doodleworld