This is typical go convention. It's not exactly how I would typically do things, but I figure it's probably best to just stick with the go conventions. Also worth noting is that in this case, we would have to make the functions publicly visible to implement testing like that, which is annoying clutter in the public interface (it's a trade-off, I suppose).