How do you perform object generation?

By this I mean how personally do you guys write data to the GPU (if you do at all that is) and then handle the rendering.
For me I do most of it within a tick method minimizing the number of calls for modification but still being clear.
call Tick
Call tick methods of bound objects
bound object calls a bind method that binds its current position to a Floatbuffer in the super object
super object then generates new subbufferata for the single VBO for the current task
render method calls all VBO renders(maximum of about 4)

Advantages of this is that it minimises the changes to floatbuffers that are made using specific binding methods.
It also means that very little memory is used and it is viable to instead have an array of Tile objects which can also store their functions.
Disadvantage is that if the data remains the same then you are making useless modification calls.

What methods do you guys use for your rendering?