'See `runtime.Runtime.get_aside_of_type`
This override adds the field data from the block to the aside'

def get_aside_of_type(self, block, aside_type):

    asides_cached = (block.get_asides() if isinstance(block, XModuleMixin) else None)
    if asides_cached:
        for aside in asides_cached:
            if (aside.scope_ids.block_type == aside_type):
                return aside
    new_aside = super(CachingDescriptorSystem, self).get_aside_of_type(block, aside_type)
    new_aside._field_data = block._field_data
    for (key, _) in new_aside.fields.iteritems():
        if (isinstance(key, KeyValueStore.Key) and block._field_data.has(new_aside, key)):
            try:
                value = block._field_data.get(new_aside, key)
            except KeyError:
                pass
            else:
                setattr(new_aside, key, value)
    block.add_aside(new_aside)
    return new_aside
