Added before/after save logic
Made the Core use #before/#after if defined as static methods in the model