Use "app" upvalue instead of "self" where it would be misleading