split define.h into more pieces
observable.h will be the one to tune.