Decide to use method_missing for intialization shortcuts, and cache methods.
Keep track of all objects in a global space.
Use #attribute_post_processing to deal with manipulation and validation.

This is pretty cool.
Check for duplicate Data objects.
Adapt to #attribute_post_processing.
Add tests for shortcuts in Kernel.
Pass tests for Data and Base.
Add #find_scale to Kernel.
Axis class adapts to #attribute_post_processing.
Pass tests for Axis.
Scale class adapts to #attribute_post_processing.