Add generic repository. Refactor repositories. Close #9
Minor refactors.
Model for answers.