- started refactoring logic related to challenge requests into challenge_request_impl.py

- added a testing dir and made a test case example