Changed object format to group multiple bodies under one name
Removed AshJS and used `state` object to hold all state
Merged AshJS-removing changes