Move commands to their own object.

This also breaks everything.