Ah yeah, the events will definitely hose things up like that.
Changing native grids gets really messy due to those events. Definitely had some woes with that here: How To: Adding Columns to Existing Kinetic Grid - Experts’ Corner - Epicor User Help Forum (epiusers.help)
For using the stuff in the JSON, it should just be a matter of:
{
"PropertyName": "{SubAssemblies.Column}"
}
Use or remove quotes where appropriate.