Model interface refactoring

Hi Ito-san, could you please merge the refactoring branch into master?

Thanks!