C++ - MCP23017 pins to daisy_core::Pin or dsy_gpio_pin structs?

Hi all… Is it possible/practical to use Daisy classes like Switch(), Button(), and Encoder() with values from a uint8_t Mcp23017::MCPPort?

Each of the classes I mentioned requires a daisy_core::Pin struct as part of its config.presumably to read/write the Daisy hardware itself. Is there a way to create a “virtual” GPIO pin so one of the input device classes above can read it?

The intention here is to keep from reinventing the wheel and having to implement my own equivalent classes.

Cheers
-John