refactor of GPIOManager - added GPIOcontroller and GPIO object