Split SharedLogic class