Great read! This seemed like a fun problem to solve, and I think the end result you came up with is top notch.
Thank you! Putting together this kind of little system is what makes programming videogames so fun.