Created a series of Track classes

These replace the metadata helper method
Backwards compatibility is maintained via the ArrayAccess interface