Add wrapper structure to prepare for using metadata type objects, move split functions into appropriate files.

(wrapper structure is currently not functional)