A method comprising: subscribing, by a control service via a first message broker, to one or more sensor signals from a selected body-action input device , the one or more sensor signals including raw sensor data corresponding to one or more body-actions with the selected body-action input device ; receiving, by the control service , identification information of the selected body-action input device selected from a plurality of available body-action input devices ; receiving, by the control service , identification information of a selected controlled device selected from a plurality of available controlled devices ; selecting, by the control service , a component control service (108A-108D) from a plurality of component control services (108A-108D) of the control service , each component control service (108A-108D) corresponding to one of the plurality of available body-action input devices and one of the plurality of available controlled devices , based on the identification information of the selected body-action input device and the identification information of the selected controlled device ; analyzing, by the control service , using the selected component control service (108A-108D), the raw sensor data, to identify a body-action input corresponding to the one or more body-actions with the selected body-action input device ; converting, by the control service , using the selected component control service (108A-108D), the identified body-action input, into one or more control signals, to control the selected controlled device corresponding to the one or more body-actions with the selected body-action input device ; and publishing, by the control service via a second message broker, the one or more control signals to control the selected controlled device in response to the one or more body-actions with the selected body-action input device . subscribing, by a control service via a first message broker, to one or more sensor signals from a selected body-action input device , the one or more sensor signals including raw sensor data corresponding to one or more body-actions with the selected body-action input device ; receiving, by the control service , identification information of the selected body-action input device selected from a plurality of available body-action input devices ; receiving, by the control service , identification information of a selected controlled device selected from a plurality of available controlled devices ; selecting, by the control service , a component control service (108A-108D) from a plurality of component control services (108A-108D) of the control service , each component control service (108A-108D) corresponding to one of the plurality of available body-action input devices and one of the plurality of available controlled devices , based on the identification information of the selected body-action input device and the identification information of the selected controlled device ; analyzing, by the control service , using the selected component control service (108A-108D), the raw sensor data, to identify a body-action input corresponding to the one or more body-actions with the selected body-action input device ; converting, by the control service , using the selected component control service (108A-108D), the identified body-action input, into one or more control signals, to control the selected controlled device corresponding to the one or more body-actions with the selected body-action input device ; and publishing, by the control service via a second message broker, the one or more control signals to control the selected controlled device in response to the one or more body-actions with the selected body-action input device . <EOS>