1. A method comprising: receiving a feature invocation list associated with a session between two end devices; determining, during initiation of the session, whether the feature invocation list is applicable for the session; responsive to determining that the feature invocation list is applicable for the session, examining the feature invocation list; determining whether the feature invocation list includes at least one first criterion for invocation of a first real application at a time of initiation of the session; determining whether the feature invocation list includes at least one second criterion for invocation of a second real application at a time that is after the time of initiation of the session; responsive to determining that the feature invocation list includes the at least one first criterion, invoking the first real application at the time of initiation of the session; and responsive to determining that the feature invocation list includes the at least one second criterion: invoking a stub application at the time of initiation of the session, wherein the stub application is associated with the second real application and includes a subset of features and services of the second real application, and performs a limited set of operations corresponding to the second real application, the stub application being configured to test a condition for invocation of the second real application; determining, using the stub application and during execution of the session, whether a condition is met for invocation of the second real application; and responsive to determining that the condition is met, invoking the second real application.