refactored colorful logger to be in core instead of CLI - can be used programmatically for testing