deal with ports changing dynamically (also put some machinery in place)
deal with card profiles changing dynamically (although unlikely)
remove option_t, no longer needed