No. Generators are totally optional. I personally never use them at all.
Reasonable people can disagree about this, but I emphatically would not do that. I would make an interface
, but not a class
. For more rationale, see this, this, and even this oldie.