Big commit; changes to persistance and adapter DSL