I'm getting the standard "attempted to modify an object outside a transaction" however all modifications are done inside a transaction. From the error I suspect it may be that it's because I'm attempting to modify a component that is hosted inside another object and the scope of the transaction only include the component not the host object.
Can anyone confirm or deny this?