Changed composition constructors to protected to keep internals from attacks. User must delberately give access to internals if they want to leave them open.
Closes #46