yeah, I started doing that but ran into issues. I'll file a bug to refactor all of this.