make data flow less mysterious
more tidying up
update tests
fixes #17 - bundle exports are handled at assignment time rather than via a getter