Move function body to implementation.
Fix singleton CRTP base class.
Hoist serialization framework into namespace vast.