Yeah, it becomes really difficult to overwrite the handlers during create_object without it.

I also think it makes it more clear, and will be easier to extend the objects in the future.