[fix] ensure every callback uses return