AbstractComponent added in order to allow ACLs
Refactoring
Some addition for security and additional refactoring