Restructure document prototype
New API, sacrifice package reload on change
Allow instance bound Model prototype extension