Why relying on interface here ? Cannot we used ``instanceof`` ?