Ideally these would be base class capabilities but may need to be added to each repo, will have to see how design emerges under unit testing.