implement observe api. refactor executor pools into their own struct, and point each command to them. replace literal command creation with NewCommand method.