With that said, frob gave some good advice. Personally, unless it's a utility method (ex: open a file) or something to be seen and shared by all instances of that class, I would write it the normal object-oriented way. Or as you put it, pass the data down.
And for the record, only "goto is evil" when dealing with C++ and more modern languages.