Use constructor property instead of initialize for better extension

Users can now specify an `initialize` method without breaking the class.