Also, please note that the function is called more or less every time an argument is requested from the table, so if you care about performance you should make sure you aren't doing anything inefficient with your code.