channels/smartcard: refactor usage of lists and get rid of workarounds