It seems like the interpolation logic is starting to dominate the `Backend` class but doesn't directly have to do with actual back end behavior. What do you think of extracting this to a standalone class?