18f04e0824
I found this method to be unreadable and cumbersome. Cleaning it up helped me to understand the design ideas behind it.