This is a progress-tracking PR for @gsagnol to keep track of my code changes and give feedback if desired.