Commands Refactor Part 2

We split #196 in two parts. this is the second. (#262 is the first). This builds on all the changes to commands/.
I fixed the indentations in 42a9e3358d80a1452f6b500822245444f672f9f6