A system for managing predetermined functions on a mobile device configured to be located within a moving vehicle, the system comprising: the mobile device having an operating system, OS, installed thereon, the OS including an event application programming interface, API, configured for two-way communication with an external electronic device, a control device configured to be installed within the vehicle, the control device acting as the external electronic device and configured for two-way communication with the mobile device; a software application installed and running in memory resident on the mobile device; wherein, in response to initiation of one of the predetermined functions on the mobile device, the event API is configured to cause the mobile device to transmit a notification message to the control device; wherein, in response to receipt of the notification message from the mobile device, the control device is configured to transmit to the software application information about said one of the predetermined functions obtained from the notification message; wherein, in response to receipt of the information about said one of the predetermined functions obtained from the control device, the software application is configured to determine and transmit a desired action to be taken by the mobile device with respect to said one of the predetermined functions; and wherein, in response to receipt of the desired action from the software application, the control device is configured to transmit to the event API an action message, the action message causing the event API to take the desired action with respect to said one of the predetermined functions, wherein the desired action occurs on the mobile device without any direct interference or interruption of said one of the predetermined functions by the software application installed on the mobile device. the mobile device having an operating system, OS, installed thereon, the OS including an event application programming interface, API, configured for two-way communication with an external electronic device, a control device configured to be installed within the vehicle, the control device acting as the external electronic device and configured for two-way communication with the mobile device; a software application installed and running in memory resident on the mobile device; wherein, in response to initiation of one of the predetermined functions on the mobile device, the event API is configured to cause the mobile device to transmit a notification message to the control device; wherein, in response to receipt of the notification message from the mobile device, the control device is configured to transmit to the software application information about said one of the predetermined functions obtained from the notification message; wherein, in response to receipt of the information about said one of the predetermined functions obtained from the control device, the software application is configured to determine and transmit a desired action to be taken by the mobile device with respect to said one of the predetermined functions; and wherein, in response to receipt of the desired action from the software application, the control device is configured to transmit to the event API an action message, the action message causing the event API to take the desired action with respect to said one of the predetermined functions, wherein the desired action occurs on the mobile device without any direct interference or interruption of said one of the predetermined functions by the software application installed on the mobile device.