uses AvailableMetrics and AvailableElements instead of Props/Evars/Events - these methods are more what we want