title: Role of Invoker class in Command pattern
body: <p>let's assume that we have command pattern implemented in <a href="https://en.wikipedia.org/wiki/Command_pattern#Java" rel="noreferrer">this way</a></p>
  
  <p>I am a bit confused about the role of Invoker here. From my point of view:</p>
  
  <ol>
  <li>If we do need history (or any kind of action before command execution), then there is a sense in making this class. But then it breaks Single responsibility principle, yeah? Now it's not only a delegate, it also stores history there.</li>
  <li>If we don't need history, I don't see a goal of creating this invoker, that simply performs delegating. Is the
  only reason for it is just a assumption, that we would need some kind of logic before/after command execution in the future?</li>
  </ol>
  
  <p>Or am I missing something?</p>