public static int signingCost(Application app) {
    
    //
    //  TODO:  Signing cost is based on transport factors, attraction, no.
    //  already employed, etc.  Implement all of that.
    int transport = 0, incentive = 0, guildFees = 0 ;
    guildFees += Background.HIRE_COSTS[app.position.standing] ;
    
    if (! app.applies.inWorld()) {
      //  ...This could potentially be much higher, depending on origin point.
      transport += 100 ;
    }
    else if (app.applies.mind.work() == null) {
      guildFees = 0 ;
    }
    
    if (app.employer instanceof Venue) {
      final Venue venue = (Venue) app.employer ;
      int numEmployed = venue.personnel.numPositions(app.position) ;
      if (numEmployed == 0) {
        guildFees = 0 ;
        transport /= 2 ;
      }
      else if (numEmployed == 1) {
        guildFees /= 2 ;
      }
      else guildFees *= 1 + ((numEmployed - 2) / 2f) ;
    }
    
    return guildFees + transport + incentive ;
  }