A method of operating a wireless end-user device, the method comprising: providing Internet data connectivity via a wireless network; providing an Application Programming Interface, API, callable by each of a plurality of device applications, the API accepting a network resource identifier for a media object; configuring the API to, in response to a call by any particular one of the plurality of device applications, the call identifying a particular network resource identifier, invoke a software service, the software service managing one or more data transfer connections to retrieve data via the wireless network for a particular media object associated with the particular network resource identifier, the managing comprising interfacing with a device networking stack to map the network resource identifier to the one or more data transfer connections, the one or more data transfer connections communicated through the device networking stack, receiving user interface control inputs to allow a user to control playback of the particular media object from the data, and playing the particular media object via a user interface, responsive to the user interface control inputs; classifying the one or more data transfer connections as associated with the particular one of the device applications calling the API; and, responsive to the classifying, attributing wireless network data transfer usage amounts for the one or more data transfer connections to the particular one of the device applications; and tracking aggregate wireless network data transfer usage amounts for each of the plurality of device applications, such that upon attributing wireless network data transfer usage amounts for the one or more data transfer connections to the particular one of the device applications, an aggregate wireless network data transfer usage amount for the particular one of the device applications is updated to include the wireless data transfer usage amounts for the one or more data transfer connections. providing Internet data connectivity via a wireless network; providing an Application Programming Interface, API, callable by each of a plurality of device applications, the API accepting a network resource identifier for a media object; configuring the API to, in response to a call by any particular one of the plurality of device applications, the call identifying a particular network resource identifier, invoke a software service, the software service managing one or more data transfer connections to retrieve data via the wireless network for a particular media object associated with the particular network resource identifier, the managing comprising interfacing with a device networking stack to map the network resource identifier to the one or more data transfer connections, the one or more data transfer connections communicated through the device networking stack, receiving user interface control inputs to allow a user to control playback of the particular media object from the data, and playing the particular media object via a user interface, responsive to the user interface control inputs; classifying the one or more data transfer connections as associated with the particular one of the device applications calling the API; and, responsive to the classifying, attributing wireless network data transfer usage amounts for the one or more data transfer connections to the particular one of the device applications; and tracking aggregate wireless network data transfer usage amounts for each of the plurality of device applications, such that upon attributing wireless network data transfer usage amounts for the one or more data transfer connections to the particular one of the device applications, an aggregate wireless network data transfer usage amount for the particular one of the device applications is updated to include the wireless data transfer usage amounts for the one or more data transfer connections.