1. In an electronic device, a method of dynamically hosting a plurality of components in an operating system window that is based on an object-oriented programming language, the method comprising: providing the operating system window that is based on an object-oriented programming lanuguage hosting a first component associated with a component object model (COM); providing a container written in an object-oriented programming language within the operating system window, dimensions of the container substantially matching dimensions of the operating system window; providing a first canvas and a second canvas written in the object-oriented programming language within the container; dynamically hosting a second component written in the object-oriented programming language within the second canvas, the dynamic hosting enabling dynamic addition to and removal of the second component from the operating system window; and dynamically hosting the first component associated with the component object model (COM) within the first canvas, the dynamic hosting enabling dynamic addition to and removal of the first component from the operating system window, the hosting of the first component including: obtaining a window handle for the operating system window using methods native to the object-oriented programming language; and designating the operating system window as parent window for the first component.