 Transparent representation of the control flow had no priority and was meant to be handled by a compiler.With the increasing relevance of parallel hardware and multithreaded coding, developing transparent control flow becomes more important, something hard to achieve with OOP.Responsibility-driven design defines classes in terms of a contract, that is, a class should be defined around a responsibility and the information that it shares.