Begin with migrations

refactors
add possibility to migrate (primitive at this time)
loose coupling model repository