Implemented module bridges, refactored, added points of debug logging

The api structure is now setup such that each module has a bridge
in package bridges that facilitates the communication between the api
handler and the core module. This makes it so package api doesn't
balloon nor will it require every module be imported to package api.

Package api imports bridges where all bridges are housed. The bridges
are designed to be lean. The bridge will import the module and call
the methods as appropiate.

Invoke has been moved to bridges since api doesn't need it anymore.

A debug function was created to facilitate dev/testing logs and be
easy to disable in prod.