Not entirely convinced that commands belong in the client, but will work
for now.