Redesign DAL from ActiveRecord to Repository