hooray for command pattern