A computer implemented method for prioritising call requests executed by a mobile application, comprising: allocating for the mobile application a plurality of connection slots for a plurality of types of network calls, wherein allocating the connection slots comprises reserving one or more connection slots; receiving a call request; determining whether a connection slot of the plurality of connection slots is available for the call request; executing a call based on the call request when a connection slot is available; processing the call request when a connection slot is not available, where processing the request comprises: determining a priority level for the call request; when the determined priority level is a low priority, putting the call request in a queue for later processing; and when the determined priority level is a high priority: when a low priority call is in progress, performing the steps of: canceling the in-progress low priority call; placing the cancelled low priority call in a queue for later processing; and executing the high priority call; and when no low priority call is in progress, placing the high priority call request in the queue; wherein the method further comprises: when a high priority call requires an authentication, a re-authentication, or a renewal of a token, and no connections slots are available, executing the authentication, the re-authentication or the renewal of a token in a reserved connection slot. allocating for the mobile application a plurality of connection slots for a plurality of types of network calls, wherein allocating the connection slots comprises reserving one or more connection slots; receiving a call request; determining whether a connection slot of the plurality of connection slots is available for the call request; executing a call based on the call request when a connection slot is available; processing the call request when a connection slot is not available, where processing the request comprises: determining a priority level for the call request; when the determined priority level is a low priority, putting the call request in a queue for later processing; and when the determined priority level is a high priority: when a low priority call is in progress, performing the steps of: canceling the in-progress low priority call; placing the cancelled low priority call in a queue for later processing; and executing the high priority call; and when no low priority call is in progress, placing the high priority call request in the queue; determining a priority level for the call request; when the determined priority level is a low priority, putting the call request in a queue for later processing; and when the determined priority level is a high priority: when a low priority call is in progress, performing the steps of: canceling the in-progress low priority call; placing the cancelled low priority call in a queue for later processing; and executing the high priority call; and when no low priority call is in progress, placing the high when a low priority call is in progress, performing the steps of: canceling the in-progress low priority call; placing the cancelled low priority call in a queue for later processing; and executing the high priority call; and canceling the in-progress low priority call; placing the cancelled low priority call in a queue for later processing; and executing the high priority call; and when no low priority call is in progress, placing the high priority call request in the queue;