Refactor StringPresenter

This performs some refactoring in the StringPresenter, reducing a bit the complexity of each method, which improves readability IMO