Rewrote API to be more asynchronous friendly. (Note: Common has not been
updated to the new API)
Added missing javadocs
Added Packet capabilities to the API