Refactored to use generic repository, factroy now accepts args, added BusinessTests