factory works.  I was working too hard
got a really ugly factory working  for commands.  i should be able to find a mroe elegant improvement now