I thought it would be cool to just use properties of a private nested class, but I'll fix this stuff to use getters.