Moved to 'prototype' based extends weaving, as it allows the wrapping code to be inspected, rather than just being a bunch of strings.