PassThroughCode refactoring and create PassThrough Core and API for enhace reusability

Get rid of final static here