 		
 unload = (callback) ->
 	async.parallel [
-		(callback) -> getByUsernameQuery.finalize -> getQuery = null; callback?()
 		(callback) -> getQuery.finalize -> getQuery = null; callback?()
 		(callback) -> setQuery.finalize -> setQuery = null; callback?()
 		(callback) -> delQuery.finalize -> delQuery = null; callback?()

			when 'quote'
				[ username ] = parameters.split /,/
				username = message.username unless username? and username
				
				getByUsernameQuery.get username, (err, row) ->
					if err? or not row?.value?
						debug "Error while reading quote: #{err}" if err?
						
						if username is message.username
							api.replyTo message, __("You currently don't have a quote set."), no, callback
						else
							api.replyTo message, __("User “%1$s” has no quote set.", username), no, callback
					else
						api.replyTo message, __("[%1$s] %2$s", username, row.value), yes, callback
			when 'setquote'
				setQuery.run message.sender, parameters, (err) ->
					if err?
						debug "Error"
						api.replyTo message, __("User %1$s has no quote set.", row.users.lastUsername), no, callback
					else
						api.replyTo message, __("Your quote has been set to: “%1$s”", parameters), yes, callback
			when 'delquote'
				delQuery.run message.sender, (err) ->
					if err?
						debug "Error while deleting quote: #{err}"
					else
						api.replyTo message, __("Your quote has been deleted."), yes, callback
			when 'forcequote'
				callback?()
			when 'wipequote'
				callback?()
			else
				callback?()
	else

			PRIMARY KEY(userID)
		);"
		
		getQuery = db.prepare "SELECT value FROM joinMessages WHERE userID = ?"
		setQuery = db.prepare "INSERT OR REPLACE INTO joinMessages (userID, value) VALUES (?, ?)"
		delQuery = db.prepare "DELETE FROM joinMessages WHERE userID = ?"
