Moved the three main EMC classes to the API

Moved the three main EMC classes to the API, fixes #655
(also removed a unnecessary warning suppression)