[eluser]wiredesignz[/eluser]
Generally if you want designers to avoid code you need to use a template parser and give them a list of {substitutions} to use.
Where do you get 100 different methods to build a menu from?
I still cannot recommend using a library as a model, or generating HTML in a library, even loading the smallest view partial is better than this.
CI itself should even have a system/views directory rather than generate HTML in its libraries.