+1 for the typehint. 

@sjopet `=null` means the argument is optional. if we can live with a null manager - or have a setManager to set it later, this was probably intended. if we don't have a setter and the class can not work without the manager, no need to allow null. what would be the meaning of class being null, is that ok?