triggerCheck() {
        if (
            !(
                this.state instanceof States.ValetudoUpdaterIdleState ||
                this.state instanceof States.ValetudoUpdaterErrorState ||
                this.state instanceof States.ValetudoUpdaterNoUpdateRequiredState
            )
        ) {
            throw new Error("Updates can only be started when the updaters state is idle or error");
        }


        this.state.busy = true;

        const step = new Steps.ValetudoUpdaterCheckStep({
            embedded: this.config.get("embedded"),
            architectures: Updater.ARCHITECTURES,
            spaceRequired: Updater.SPACE_REQUIREMENTS,
            robot: this.robot,
            updateProvider: this.updateProvider
        });

        step.execute().then((state) => {
            this.state = state;
        }).catch(err => {
            this.state = new States.ValetudoUpdaterErrorState({
                type: err.type,
                message: err.message
            });
        });
    }
As everything regarding networking might take a long time, we just accept this request
and then asynchronously process it.
Updates are reported via the updaters state

@return {void}