Refactored code to use a CloudGenerator interface to play with different implementations. Generator is now also in charge of creating the action URL called when a tag link is clicked in the view so we have a cleaner view that shouldn't vary (so far) depending on the backend implementation.