Refactored to be less verbose (Catel.Fody will now weave properties)