regiggle of what are parameters and what are fields ready for refactor
regiggle of when command writer is constructed ready for refactor
adding add method to command writer
don't pass fields into command writer
minor
from client class point of view, command char is just a byte
rename