Is there any reason you're not parsing here?  Wouldn't it make sense to have it parse when self.data is given?