First refactoring using PostSharp.