modularized base with reflection module, inspired from ActiveRecord
extracted some method into naming.rb, inspire from ActiveModel