refactor, move logic that fetch user's gists into the Gist model
add method to fetch the top layer nodes of a repo given its branch
add method to recursively fetch the levels of a repository
use synthesized parameters
add getters
use getters