Create base classes for aspects and instance data.
Tie aspect instance data into aspect calls. Wrap enclosure in try/catch if applicable (joins after)