This is a very big change... could break a _LOT_ :/

Not sure how i feel about this tradeoff vs. cleaner code in the module.