made loading get handled by the base ContentViewModel instead of doing it in each implementation