html render complete

Line 34 - 37 is a WTF. You should always ask every element in the content_list to render itself instead of making a decision in the base class. Members of this list should just "do the right thing" when their render() method is invoked. A comment explaining the different thought process would help with the readability of the code.