class ZuoraConnect::AppInstance

def new_session(user, password, session = nil)

def new_session(user, password, session = nil)
  @user = user
  @pass = password
  if session.nil? || (!session.nil? && self.id != session["appInstance"].to_i) || session["#{self.id}::task_data"].blank? || ( session["#{self.id}::last_refresh"].blank? || session["#{self.id}::last_refresh"].to_i < ZuoraConnect.configuration.timeout.ago.to_i )
    Rails.logger.debug("REFRESHING - Session Nil") if session.nil?
    Rails.logger.debug("REFRESHING - AppInstance ID does not match session id") if  (!session.nil? && self.id != session["appInstance"].to_i)
    Rails.logger.debug("REFRESHING - Task Data Blank") if session["#{self.id}::task_data"].blank?
    Rails.logger.debug("REFRESHING - No Time on Cookie") if session["#{self.id}::last_refresh"].blank?
    Rails.logger.debug("REFRESHING - Session Old") if (session["#{self.id}::last_refresh"].blank? || session["#{self.id}::last_refresh"].to_i < ZuoraConnect.configuration.timeout.ago.to_i )
    self.refresh(session)
  else
    Rails.logger.debug("REBUILDING")
    build_task(session["#{self.id}::task_data"], session)
  end
  @valid = true
end