Adding a better way to do logging.
Removed asserts in favor of new 'error and die' system.