Use common method for icon generation, add icon-before and icon-after methods