Refactored to use assetloader for ease of disposal

* known bug: gathering then leaving the page doesn't stop the gathering.