That is one way to do it and is still valid and is documented here: Stimulus Reference
There is also a new Outlets API that lets controllers communicate with one another if the above approach isn’t appropriate for your case for some reason, e.g. if nesting your controllers isn’t feasible: Stimulus Reference