Role of Invoker class in Command pattern
<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>