First pass at article--liveblog refactor