MAJOR change. Changed definitions of mechanisms so that everything returns a matching object now. Note that matching now has information about the matching(OOO, OUR, etc)