cache modules register themselves
self registering module
WIP tests