Fleshed out DataType interface and the classes that utilize it.