Enhancement: put IMC handling into separate class

Clarify documentation
Merge pull request #500 from thatsIch/enhancement-imchandler

Enhancement: put IMC handling into separate class