Mf/bunsen

General refactors and improvements, 
this will be a breaking change, (but since all of this is undocumented it is not really considered breaking)