*/
public static GpioController getInstance() {
// if a controller has not been created, then create a new instance
// Note: this is not thread safe singleton
if (controller == null) {
controller = new GpioControllerImpl();
}
// else return a copy of the existing controller
return controller;
}