Yes, we should definitely enforce all subclasses of Model be serializable. The convention to "enforce" this in type hierarchy in Java is to make the top level interface/trait/abstract class to be Serializable.