1. A computer-implemented method, comprising: receiving an interest of a Content Object in an Information Centric Networking architecture; obtaining a stack requirement for a stack, wherein the stack requirement specifies at least a functionality for a stack component, and the stack requirement is obtained from a transport library component, a transport application programming interface (API) component, a network packet, or a component in the stack; selecting the stack component, based on the functionality and at least a name prefix of the interest or the Content Object; and instantiating the stack component in the stack.