make config members private, add getters, inject stdio to command invoke