rename Schema.use() to Schema.persist()
implement basic plugin/middleware architecture
update dependencies