A computer-implemented method for providing a software container element (236, 340, 350, 360, 370, 420, 430, 440, 450) associated with peripheral device connection data that enables the software container element (236, 340, 350, 360, 370, 420, 430, 440, 450) to have access to and communicate with each peripheral device (120, 750) of a plurality of predetermined peripheral devices, the method comprising the steps of: a resource manager receiving, from a module comprising first executable software that is executable on one or more processors of a computing device (110, 220, 400), first data indicative of at least one class of peripheral device connectable to the computing device (110, 220, 400), whereby each class is associated with a plurality of predetermined peripheral devices; providing a software container element (236, 340, 350, 360, 370, 420, 430, 440, 450) that contains second executable software that is executable on said one or more processors of the computing device (110, 220, 400), the resource manager requesting the module to prepare each of the plurality of predetermined peripheral devices associated with each class for assignment to the software container element (236, 340, 350, 360, 370, 420, 430, 440, 450); the resource manager receiving from the module respective peripheral device pathway data for each peripheral device in the class that is to be assigned to the software container element; and associating the software container element (236, 340, 350, 360, 370, 420, 430, 440, 450) with peripheral device connection data, wherein the peripheral device connection data is representative of at least the respective peripheral device pathway data for each of the plurality of predetermined peripheral devices associated with each class to enable the software container element to have access to and communicate with each peripheral device (120, 750) of the plurality of predetermined peripheral devices associated with each class. a resource manager receiving, from a module comprising first executable software that is executable on one or more processors of a computing device (110, 220, 400), first data indicative of at least one class of peripheral device connectable to the computing device (110, 220, 400), whereby each class is associated with a plurality of predetermined peripheral devices; providing a software container element (236, 340, 350, 360, 370, 420, 430, 440, 450) that contains second executable software that is executable on said one or more processors of the computing device (110, 220, 400), the resource manager requesting the module to prepare each of the plurality of predetermined peripheral devices associated with each class for assignment to the software container element (236, 340, 350, 360, 370, 420, 430, 440, 450); the resource manager receiving from the module respective peripheral device pathway data for each peripheral device in the class that is to be assigned to the software container element; and associating the software container element (236, 340, 350, 360, 370, 420, 430, 440, 450) with peripheral device connection data, wherein the peripheral device connection data is representative of at least the respective peripheral device pathway data for each of the plurality of predetermined peripheral devices associated with each class to enable the software container element to have access to and communicate with each peripheral device (120, 750) of the plurality of predetermined peripheral devices associated with each class.