This should be static; it doesn't need access to the state of the outer class