Setup basic Matrix interface, abstract class, and full implementation.