Renames private method for better literacy
Moves traits related interfaces to separate package and almost extracts
repository interface for transactions