Improving a Machine Learning System (Part 1 - Broken Abstractions)