docs: def createSignup(self, creator, signupClass, signupConf,
                       product, emailTemplate, prompt):
          """
          Create a new signup facility in the site store's database.
  
          @param creator: a unicode string describing the creator of the new
          signup mechanism, for auditing purposes.
  
          @param signupClass: the item type of the signup mechanism to create.
  
          @param signupConf: a dictionary of keyword arguments for
          L{signupClass}'s constructor.
  
          @param product: A Product instance, describing the powerups to be
          installed with this signup.
  
          @param emailTemplate: a unicode string which contains some text that
          will be sent in confirmation emails generated by this signup mechanism
          (if any)
  
          @param prompt: a short unicode string describing this signup mechanism,
          as distinct from others.  For example: "Student Sign Up", or "Faculty
          Sign Up"
  
          @return: a newly-created, database-resident instance of signupClass.
          """
  
          siteStore = self.store.parent
  
          booth = siteStore.findOrCreate(TicketBooth, lambda booth: installOn(booth, siteStore))
          signupItem = signupClass(
              store=siteStore,
              booth=booth,
              product=product,
              emailTemplate=emailTemplate,
              prompt=prompt,
              **signupConf)
          siteStore.powerUp(signupItem)
          _SignupTracker(store=siteStore,
                         signupItem=signupItem,
                         createdOn=extime.Time(),
                         createdBy=creator)
  
          return signupItem