Refactoring and code style

work on code style an refactor better name of abstract class
try to fix some issue with travis composer install