Remove circuits

Pending discussion and review. Seems like a major improvement already.
Comments needed for this. Perhaps that'll be the next round of refactoring: documentation.