Should be extendible and able to log to file, eventbus and app insight. Should be implemented like Compression components.