PassThroughCode refactoring and create PassThrough Core and API for enhace reusability

why do we need class synchronization here ?