Reimplementing SmsMessage with AbstractModel.
This commit is still not suitable for compilation.