added ecl emma coverage reporting and some unit tests and refactored existing code to use coverage groups (for class level metrics)