some order

adding default  constructors
removing unused event handlers
implementation of the factory design pattern