Move associations to provider associations and fix various typo
Add an ArrayCache, fix typo and inconsistency and update documentation