Maybe we can keep buttoInner has a local variable ? I don't think many places other than this method really need to access it.