Replaced exosapient.controllers with per-app nodes