Minor changes:
- Basic Abstract classes enforcer
- Renames
- Added hasMessage property
Added a decorator for telemetry