Pass in warmer and similarity service, instead of retrieving them from engine