This tersely describes the flow of methods in Slash::ResKey::Key.

reskey = getObject

rkey = reskey -> key(RESOURCE_NAME, { reskey => RESKEY, debug => DEBUG })
	get rkey object

	rkey -> create()
	rkey -> touch()
	rkey -> use()
	rkey -> createuse()
		main API (generated by _createActionMethod)

		-> fakeUse()
			-> getUpdateClauses()
				generate SET hashref and WHERE clause for sqlUpdate

		-> check()
			-> createCheck()
			-> touchCheck()
			-> useCheck()
				creates a check to execute (generated by _createCheckMethod)
				returns method for a given class to execute, looking for
				one of the following, in this order, in the given class:

				-> doCheckCreate()
				-> doCheckCreateExtra()
				-> doCheck()
				-> doCheckExtra()
		
		-> dbCreate()
		-> dbTouch()
		-> dbUse()
			actually perform the create/touch/use in the DB
			-> update()

	rkey -> noop
	rkey -> success
	rkey -> failure
	rkey -> death (generated by _createStatusAccessor)
		get/set success conditions

	rkey -> errstr
		return error string

	rkey -> error (generated by _createAccessor)
		returns raw error data

	rkey -> reskey (generated by _createAccessor)
		returns reskey string

	rkey -> get
		returns the data from the DB row for that reskey

other methods:
	_init
		resets stuff in the object

	_save_errors
	_restore_errors
		for the rare occasion we want to save the errors
		before _init blows them away

	getWhereUserClause
		set up how to identify the user in the where clause

	getSrcid
		get the srcid for the current user

	getResources
		get the resources from the DB table

	getChecks
		get the checks from the DB table

