Feature/book 956

I don't think view / presentation logic belongs in the route.