Posts loading extracted to data layer with async loading