Allow the asset to manage the decoder

Adds ability for asset to decode the whole file
Improve test page