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.