Refactor the ArduinoService, add support for custom commands. Still WIP