I agree - at this point I'm just getting us away from using fwrite. Logging/console output is a challenge I'm not sure how I'd like to address at this point, since technically our core classes shouldn't be dependent on being able to output. I think eventually just better communication back from the core classes to the outer layer will improve things.