CS: remove unused args/vars + enforced arg types + various CS fixes

According to #193, here's the PR that cleans unused code, remove uneeded args but also enforces some method argument type hinting.

Feedback and contribution is very welcomed.

Thanks,