Trackable -> HasFourMomentum, simplify codes using pattern-matching