Extract redirect strategy and allow override in constructor.