Removed the Base class and Attachable trait
Added Stringable
Use function types for caching
More encapsulation for the Common package