inner classes are a bit flakey when accessed via self.