Card Controller - Integrated with the Dynamic State Machine.

The controller is serving the cards (devices) by providing them means
to register to the controller with their SM and giving each a unique id for communication.

regCard() is used for card registration.
run() is used for running the controller, usually in it's own task in an endless loop,
blocking on recv messages.