Completely refactoring how EBML classes work