adding IMarkupable interface and abstracting SmartBloggable's markup behaviour out into a composed Markupable object