Refactor on class names, plus changed structure on BasicTransformer
Added some new concepts and abstractions
Fixed explicit transformation behaviour
Removed unused imports