Add MetaData as mixin to Snap class to get id attribute
Clean up Snap class
Change the type of FaciaAgent functions to Trail so that Snaps can be mixed in
Clearer case match for snapId
No need for the val