This is a tricky one as there were many places that called this method.
It now exists on the availability instance and doesn't require the user
to be passed anymore (as it is already available).
This is responsible for picking the appropriate strategy class for the
session and assigning it to the request.
The strategy class then is responsbile for returning the appropriate
price and availability wrappers for a given product.
A template tag is responsible for calling the strategy class with the
product to get the appropriate wrappers needed in the template.