unless functions are only being used as arguments (the way you'd use a lambda function) I think it makes sense to put them at the top level of the class.  That makes it easier to keep track of the functions and also encourages refactoring.