refactoring and design fix acording to CR comments. part 1
refactoring part 2. fail on revealing tests.
refactoring part 2. fail on revealing tests.
seperating abbounceBoard to external module