command pattern example: remote control