BTW, what do you want to achieve, switch interface at run-time or
switch implementation at run-time?