adding plugins class and lifecycle management
adding initial composer files