Added newAction, runECD, doIO, checkConsistency. Refactored the types to allow
for sane signatures for the functions exposed to the user. Module signature
finalized.