can now register viewModel definitions manually (can be cached)