`self` aliasing is banned—only use `.bind(this)`