Make the source code mypy-based standard

Currently we made mypy to stay quite with a lot of #type: ignore, but it needs more consideration. The current situation of this plugin is far away from a standard code so somehow it needs a bit refactor

Edited by Mostafa Hadizadeh