Cleanup participant to remove unused code and increase test coverage

Made the business logic simpler and easier to test