Implemented own panel factory to keep things cleaner