modified the way Field.createMiddleware worked a bit, added some members on the Schema object, and added Field.only