Encapsulates response fields

Using RepoElementFields class to refer to field names in RepoElement. This way, if Api changes, the backend breaks

Closes #13