Implemented a private metadata model. No longer using ServiceContract. It just couldn't be made to work how I needed it to be.