Fix typo causing ratechange to not be observed. Simplify foreach.

Was just perusing the code and saw a couple of simple fixes to make :)
Use a closure for `this` instead of binding - faster and more idiomatic :)