Restructured project to make it more library like, started hiding implementation details to remove dependencies for the user. Started reworking logging functionality.