Cleanup/3.x/core client impl

Package cleanup
Introduced interfaces

Big number of changes causes by moving classes, so a lot of imports on classes changed.