logic broken out into files by duty

While this does make it somewhat easier to dig through and understand the code, now I am questioning whether it is idiomatic.  Is the logical distinction more idiomatic (Connection Object methods go in object.go), or pure separation of duty more idiomatic (i.e. object.go would contain an Object struct and it's methods)?  Either way, being split out like this does make it a bit easier to navigate for specific code.

This is all somewhat relevant to the internal and integration testing as well, as that would all ideally be broken out similarly.