Resource models

WIP: Add model layer to interact with client