Gof From Wiki : add command pattern