Added PushResource and PullResource and did some minor restructuring.