System tests

I don't see much of a difference, it's already structured in common.js, but I don't mind the refactor, not that big of a deal.