Perhaps a factory with methods that creates instances with different options passed in to the constructor is good enough?