Refactor parser architecture in order to follow the cake pattern

Although we have implemented the cake pattern, mocking is still impossible for unknown reasons.
Tests on parser remain more functional than unit.
`astTrait.subFiles += this`