Refactored for Serialization and Configuration