Change to observer pattern to process the remote commands