The main issue here is avoiding circular dependencies between the serializer and the service interfaces.
This blocks "WikibaseDataModelSerialization with what we do with WikibaseLib" and although we have totally removed the Lib Serialization I would not consider this task complete in regards to WikibaseDataModelSerialization.
Although we have a TypedSnak object there is no real way to use this in combination with serializing a whole entity, which is basically the only place that this is needed in Wikibase. This is primarily due to the fact that TypedSnak doesnt share an interface or base class with snak..
There are currently some discussions about slotty stuff happening at: