Разбил на два комита, обозвал интерфейсы - templates