Add Persistence.
Add Factory
Add tests.
Refactor kernel.model.
Implement model.
Fix warnings.
Add reader and writer.
Implement Reader.
Implement Writer.