Refactors adjust, removing duplicate code and improving maintainability.

Passes the mental readthrough test, my tests, and the unit tests. Seriously with the copy/paste/tweak code.