&gt; &quot;please, no. OOP approach means that my process needs to know how to communicate with other processes via very specific protocols, which aren&#x27;t very well defined&quot;<p>It&#x27;s not as hard as you make out. Take a look at how PowerShell works for an idea about how a OOP-based approach can work for CLIs.<p><a href="http:&#x2F;&#x2F;www.computerworld.com&#x2F;article&#x2F;2954261&#x2F;data-center&#x2F;understanding-and-using-objects-in-powershell.html" rel="nofollow">http:&#x2F;&#x2F;www.computerworld.com&#x2F;article&#x2F;2954261&#x2F;data-center&#x2F;und...</a>