Merge change 2135 into donut

* changes:
  nexus: Switch controllers to use abstracted properties and refactor command protocol