Looks better. If it ever becomes a bottleneck (which I doubt it will), we can do some kind of caching in the getter, but that's unnecessary right now.