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,
if the $args are being passed to the function I'd prefer to keep the arg there, even if not used