Add explanation on behalf of using double dispatch