This is a breaking change and will need a significant version increase. This is an optimal solution to #19 and #46.