Working on resolving the Cyclic dependency in this stuff

This is super gross. Jankiest commit ever. SUPER GROSS
Fixing tests, and implementation bugs, yay tests!
Handling new signature.
Adding comments to things