Ok then yes you need those referenced HOWEVER as you saw, the tableView will remove your objects when the row goes out of view so you will have a problem knowing whether your button for example still exists. If you try to change anything on it and it has been removed you will get an error. It's undocumented but you can check if a rows view currently exists or not like this:
if tableView._view._rows[index]._view then
--rows view exists so your button should too
--rows view doesn't exist so you don't have to change anything, but make sure you set the values you want in the onRowRender if the row comes back in to view.