Major refactoring is required to support user defined schemas.  We can do that as a separate effort.