Support customized default featured image
Clean up & +comments to templ.hierarchy, implement observer pattern