#45: Refactoring of collaborative filtering prediction