Extend AbstractMessage with deferred type checking - fixes #71