I think the callback should only return the value, not setting to the attribute. This will allow the usage such as `time()`.