cglib for agent pattern