Reworking __init__ of Layer and AbstractMongoRecord