good enough
yeah, good enough for now
cleaned up code a bit, moved component parenting to be common and always automatically supported