Small behavior changes and bug fixes
Improve the structure a bit by not giving each one a constructor instead
create a template to configure the object